Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   How to read only the integer value of a txt file in C++ (http://www.go4expert.com/forums/read-integer-value-txt-file-cpp-t7906/)

Cabomba 18Dec2007 13:07

How to read only the integer value of a txt file in C++
 
Hi, I had a problem in reading a particular string of a text file in C++.
For example, I had a text file that looks like the one below:

Code:

Variable = .iso.org.dod.internet.private.enterprises.9.9.273.1.3.1.1.3.1.8.105.118.116.108.95.97.112.49.0.2.45.4.155.81
Value = Integer32 -44

End of MIB subtree.

I only wanted to read the integer "-44" from the text file in the C++ prog, but I donno how to read it without reading the "Variable = .iso.org.dod.internet.private.enterprises.9.9.273. 1.3.1.1.3.1.8.105.118.116.108.95.97.112.49.0.2.45. 4.155.81
Value = Integer32 " strings.

My partially written code to read the file is given as below:
Code:

apfile=fopen("ap1.txt","r+");

if (apfile==NULL)
{
cout<<"Error opening file ap1.txt"<<endl;
fclose (apfile);
return -1;
}

else
{
while (!feof(apfile))
{

}
}

Anyone can help me to get only the integer value of "-44" from the ap1.txt in the C++ programming? Thanks alot for any help!

Salem 18Dec2007 19:32

Re: How to read only the integer value of a txt file in C++
 
So do you want C or C++ ?

Because you've used a random mix of C and C++ API's in your snippet of code, so I'm wondering what exactly you're trying to learn.

> but I donno how to read it without reading the "Variable = .iso...
You have to read it, but there's nothing to stop you from throwing it away and reading another line, the line with the info you want.

Cabomba 19Dec2007 11:58

Re: How to read only the integer value of a txt file in C++
 
Well, sorry for the confusion cos my programming aren't tht good and I've just started picking up C/C++ programming.

My main purpose is to read the file, and to extract the integer "-44" value frm the text file, so I don really care if I'm using C or C++. But I'm still not sure of how to get rid of the first line and skipped to the second line, as the first line is pretty long and the length is random. anyway, thanks for ur time taken to reply to my question, greatly appreciate it! :)

Salem 19Dec2007 19:45

Re: How to read only the integer value of a txt file in C++
 
I would suggest C++ then.

Use a std::string variable to store each line, and use the getline() method to read a whole line (it's length won't matter).

Cabomba 20Dec2007 22:49

Re: How to read only the integer value of a txt file in C++
 
Can I try to open the text and put it in a 2 dimensional array, then call the second line of the text file in array format and frm there to use str.at() method to get the value "-44"? Can I do tht? Is it possible?

Salem 20Dec2007 23:17

Re: How to read only the integer value of a txt file in C++
 
Sure you could do that.

http://www.cplusplus.com/reference/string/string/
But perhaps the find method (in a loop) to step over a number of spaces in the line would perhaps be more reliable.

Why would you need a 2D array when you're only interested in the 2nd line?
Just read the first line and throw it away, there's no need to store it.

Try some ideas and see what happens :)


All times are GMT +5.5. The time now is 21:09.