![]() |
| ||
| Reading specific line in a file. / Searching Hi. I was wondering if anybody could help me with a small problem. I would like to read a specific line from a txtfile and either output/delete it. Basically, I'm doing a program where a user inputs/view records and i'm stuck at searching it. My txtfile input from user has a format like this: ID: Name: Contact: etc... and it repeats. So i would like to search by ID and output the id,name,contact...etc. Anyone could give me a hand here?:sad: |
| ||
| Re: Reading specific line in a file. / Searching Anyone will be glad to give you hand if you show your efforts here. If you don't really know how to work with files then I would suggest you to read you book first or go through basic tutorial like File I/O in C File I/O in C++ |
| ||
| Re: Reading specific line in a file. / Searching Uhm I think you misunderstand me. I've done it; I'm just stuck on searching data from a file. I was hoping someone could give an example on it. I do not want it to be from my coding just an irrelevant example. And I did read the two links you gave.. |
| ||
| Re: Reading specific line in a file. / Searching Well if you've already created functions to read a whole record and write a whole record, then perhaps something like int matchID ( record *rec, char *ID ) {Based on the result, you can decide whether (or not) to output the record to the screen, another file or whatever. |
| ||
| Re: Reading specific line in a file. / Searching Quote:
In any case here is how I would do it . Create a class or structure and separate it into three attributes. ID, name and contact. Read the file three lines at a time, feeding each line into the class/structure. I.e.
You can use the ':' (colon) as a delimiter to split each line into two parts. The right-hand part is the most important bit and you will feed this into the class/structure variables. Then, once you have an array of class/structure variables, traverse through the array, matching either the ID/name/contact details. Use the 'string.find' API for c++ or make your own find function using 'strcmp' if you intend to use 'c'. In regards to the how do 'I delete a line from the file problem',you should know that deleting doesn't actually exist. Rather, you give the illusion of deletion by:- 1. copying the contents of the original file into memory, 2. change the a variable of that file whilst in memory, 3. erase the original file, 4. then write a new file with the ammendments and then rename the new file with the name of the original one. |
| ||
| Re: Reading specific line in a file. / Searching Quote:
just my point of view, bye. |
| All times are GMT -4. The time now is 8:13 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC