write and delete details on csv file in C++

Reply

Join Date: Sep 2007
Posts: 2
Reputation: donuttier is an unknown quantity at this point 
Solved Threads: 0
donuttier donuttier is offline Offline
Newbie Poster

write and delete details on csv file in C++

 
0
  #1
Sep 30th, 2007
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!
Reply With Quote Quick reply to this message  
Join Date: May 2007
Posts: 1,839
Reputation: twomers has a spectacular aura about twomers has a spectacular aura about twomers has a spectacular aura about 
Solved Threads: 49
twomers's Avatar
twomers twomers is offline Offline
Posting Virtuoso

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

 
0
  #2
Sep 30th, 2007
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.
I blag!?
"Mr Kitty, you have to live in the attic now. Here, write a diary."
I am the Walrus!
Reply With Quote Quick reply to this message  
Join Date: Sep 2007
Posts: 2
Reputation: donuttier is an unknown quantity at this point 
Solved Threads: 0
donuttier donuttier is offline Offline
Newbie Poster

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

 
0
  #3
Sep 30th, 2007
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. =)
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC