L
Lingyun Yang
hi every one,
I meet a compile error in my small homework program:
Can I innitialize ifstream with a string?
or I must come back to char* style string?
Thank you!
Lingyun
//----------- here is part of my small program ---------------
string dicname("tofel.bok.gb2312");
char buf[256];
ifstream fdic(dicname);
while(fdic.getline(buf,256))
{}
//---------------- Here is the compile error ------------------
/home/lyyang/cpp-proj/wordwar.cpp: In function `int main()':
/home/lyyang/cpp-proj/wordwar.cpp:29: error: no matching function for
call to `
std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(
std::string&)'
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/iosfwd:89:
error: candidates
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/fstream:519:
error:
std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const
char*, std::_Ios_Openmode) [with _CharT = char, _Traits =
std::char_traits<char>]
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/fstream:504:
error:
std::basic_ifstream<_CharT, _Traits>::basic_ifstream()
[with
_CharT = char, _Traits = std::char_traits<char>]
I meet a compile error in my small homework program:
Can I innitialize ifstream with a string?
or I must come back to char* style string?
Thank you!
Lingyun
//----------- here is part of my small program ---------------
string dicname("tofel.bok.gb2312");
char buf[256];
ifstream fdic(dicname);
while(fdic.getline(buf,256))
{}
//---------------- Here is the compile error ------------------
/home/lyyang/cpp-proj/wordwar.cpp: In function `int main()':
/home/lyyang/cpp-proj/wordwar.cpp:29: error: no matching function for
call to `
std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(
std::string&)'
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/iosfwd:89:
error: candidates
std::char_traits<char> >&)are: std::basic_ifstream said:::basic_ifstream(const std::basic_ifstream<char,
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/fstream:519:
error:
std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const
char*, std::_Ios_Openmode) [with _CharT = char, _Traits =
std::char_traits<char>]
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/fstream:504:
error:
std::basic_ifstream<_CharT, _Traits>::basic_ifstream()
[with
_CharT = char, _Traits = std::char_traits<char>]