944,117 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 8402
  • C++ RSS
Sep 30th, 2007
0

write and delete details on csv file in C++

Expand Post »
Hello! Please help me!!!

I have been trying to make a program that show details written on a csv file. Somehow I have managed to do so, by using a code for opening *txt files. However, I would also need to add details to the same csv file, and delete details as well. I've already learned how to sort alphabetical strings by the help of this forum, so thanks in advance!

Let's say menu says
1 Open csv file
2 add data on csv file
3 delete data on csv file

when you click on two it will ask you to enter a name. it then gets added to the csv file. i dunno, i can't explain it really clearly, but hope you can help!

thanks!
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
donuttier is offline Offline
2 posts
since Sep 2007
Sep 30th, 2007
0

Re: write and delete details on csv file in C++

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<std::string> > csv_file_contents;

don't forget to #include <vector> and <string>. 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.
Reputation Points: 453
Solved Threads: 57
Posting Virtuoso
twomers is offline Offline
1,873 posts
since May 2007
Sep 30th, 2007
0

Re: write and delete details on csv file in C++

Thank you! I'm going to try doing .erase(). haven't used that before, though. and i think coding using vector could do it, i'm going to try first.

can't use two files though. and the csv file details can be long, depending on how much you add. right now there are like 20 records in there. =)
Reputation Points: 10
Solved Threads: 0
Newbie Poster
donuttier is offline Offline
2 posts
since Sep 2007

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: using namespace std problem
Next Thread in C++ Forum Timeline: Class Program: Help with Calculating Account Usage





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC