Re: reading string from a text file from vc++ without MFC support
On Jun 17, 2:43 pm, MrAsm <m...@usa.com> wrote:
On Sat, 16 Jun 2007 23:11:11 -0700, rindam2...@yahoo.com wrote:
will U plz get me a code forreadingfileline by
line usingFILEstructure.
OK, I understand that you want to use C 'FILE*'.
my textfilewill be having random number of
data such as
atlanta/123
atlanta/greetings
atlanta/double
............
............
....//random nuber of lines.
Now I need to read each line of thefileand save it into astring
variable and use this variable in the application.the problem here is
The problem is easy. You just need to open thefileusing _tfopen
(_tfopen is the Unicode-aware version of standard C fopen), read text
lines using _fgetts (the Unicode-aware version of standard C fgets),
until you reach end offile(use feof to test it) and close thefile
with fclose.
You read eachfileline into a temporary local buffer (TCHAR array of
maximum specified size) using _fgetts, and then you can store the line
you have just read in the old-style C buffer into a more modern robust
useful CString instance.
<CODE>
CString fileName = _T("c:\\prova.txt");
// Open thefileforreadingin text mode
FILE*file= _tfopen( fileName, _T("rt"));
// Iffile== NULL ... error
// Maximum number of characters in a line
static const int maxLineChars = 200;
// This will store each line of text
TCHAR line[ maxLineChars ];
// Read line by line fromfile
while ( ! feof(file) )
{
// Clear destination buffer
::ZeroMemory( line, sizeof(line) );
// Read the line
_fgetts( line, maxLineChars,file);
// Now 'line' contains the line read fromfile.
// Do your processing.
// e.g.: You may store the read line into a CString
CString strLine( line );
// Process strLine...
// DoLineProcessing( strLine );
...
}
// Close thefile
fclose(file);
file= NULL; // Avoid dangling references
</CODE>
that I dont know How many lines will thefilehave.
No problem: 'feof' function and 'while' statement help you here :)
MrAsm
Hi MrAsm
I dont know really just how to thank you,your code was
excellent,It worked properly.I really appreciate your help ,Thanks a
lot.Now only one problem I am having.Actually the text entered into
the text file were having '\n' in each line.actually I am implementing
a dynamic menu here which will be created by taking these text from
this file.Now when I am putting MessageBox(strLine),It is showing the
proper text,But when the menu is being created dynamically(menu items
are the values in strLine),a square symbol is coming after each menu
item ,means after every strLine value.I think this may be due to the
'\n' in each line.How to remove it?I want the actual text.Plz send me
the code.Once again thanks a lot for ur help,thank u,thanks a lot.