Don't think of a csv file as anything other than a file. You can access it and everything just like any other file (text file you mentioned).
What you want to do is not hard but it requires more than appending data. The simplest way of managing this (I reckon), is to create a vector of a vector of strings:
std::vector< std::vector > csv_file_contents;
don't forget to #include and . First thing is to read in the current file. I reckon line by line and tokenise with comas. The manipulation becomes much easier then. You can .erase() or .insert() or push back easily enough. Then save the contents of the csv file each time.
Note - this is not a good solution if you have a large csv file! And a better method would be to use two files - one is your first file, and the second is a progress-file. Say you want to change a line. Read each line in your first file and save to the second until you come to the line you want to change (which could be inserting or deleting lines/columns, cells etc). Then you can change that line and save to the second file. Read the rest of the first file until it's gone. Then close the streams. Delete the first file. Rename the second and you have it. You could also use fstream as opposed to if and ofstreams.