Hello, OnlineGDB Q&A section lets you put your programming query to fellow community users. Asking a solution for whole assignment is strictly not allowed. You may ask for help where you are stuck. Try to add as much information as possible so that fellow users can know about your problem statement easily.

couldn't replace string taken as input from user

+1 vote
asked Jun 13, 2020 by Islamic videos (130 points)
void update_staff(){
	int x; // stores output when finds id matching index.
	string id, name, newn; //newn = new name;
	fstream fin; // fin = file in output mode.
	cout << "Enter id of member: " << endl;
	cin >> id;
 
	fin.open("Member.csv", ios:: out); // here file is opened in output mode. 
	if(fin.is_open()){
		getline(fin, name); //String from file to name is stored.
		
		x = name.find(id);
		if( x == -1){   // when no nothing found then -1 is stored in integer type variable.
			cout << "Name not found! " << endl;
					}
		else 
		{
			cout << "Name founded! " << endl;
			cout << "Enter new name: ";
			cin.ignore();
			getline(cin, newn);
			string.replace(newn, name);
		}
		
	}
	fin.close();
	fstream file;
 
		file.open("Updated Member.csv", ios:: app);
	if(file.is_open()){
		 file << newn;
 
			} // end of above if statement
	file.close(); 
	
} // ending of function.

1 Answer

0 votes
answered Jun 14, 2020 by gameforcer (2,990 points)

name.replace(0, newn.length(), newn);

This replaces 'name' with 'newn', starting at position 0 (first sign)..

If you need more then read the documentation about replace.

Welcome to OnlineGDB Q&A, where you can ask questions related to programming and OnlineGDB IDE and and receive answers from other members of the community.
...