Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ getline在一个项目中编译良好,但在另一个项目中编译不好_C++_Std_Getline - Fatal编程技术网

C++ getline在一个项目中编译良好,但在另一个项目中编译不好

C++ getline在一个项目中编译良好,但在另一个项目中编译不好,c++,std,getline,C++,Std,Getline,代码如下: std::filebuf fbuffer; if ( fbuffer.open( fileName, std::ios::in ) ) { std::istream str( &fbuffer ); std::tstring line; while ( std::getline( str, line, '\n' ) ) { //parsing } } 在我的项目中,我从中获得了这段代码,它编译得很好。当我将此代码复制/

代码如下:

std::filebuf fbuffer;
if ( fbuffer.open( fileName, std::ios::in ) )
{
    std::istream str( &fbuffer );
    std::tstring line;
    while ( std::getline( str, line, '\n' ) )
    {
        //parsing
    }
}
在我的项目中,我从中获得了这段代码,它编译得很好。当我将此代码复制/粘贴到一个一次性项目中时,我遇到了以下错误(为了简洁起见,修剪了一些模板垃圾):

我一直在摆弄项目设置,但毫无用处。有什么想法吗?

找到了一个#定义:


我将项目的字符集更改为“notset”,它可以很好地编译。感谢@chris的评论为我指明了正确的方向。

可能将
'\n'
更改为
L'\n'
,但是没有
std::tstring
,这使得此代码无效。
std::getline expects 2 arguments - 3 provided //getline() has overloads for 2 and 3 arguments
std::getline( std::basic_istream, std::basic_string, const _Elem ) template parameter '_Elem' is ambiguous: could be wchar_t or char
#ifdef _UNICODE
#define tstring wstring
#else
#define tstring string
#endif