各位C++大虾们,我的String库不能用怎么解决?
请看下面程序及出错信息:#include"stdafx.h"#include"iostream.h"#include"fstream.h"#include"ctype.h...
请看下面程序及出错信息:
#include "stdafx.h"
#include "iostream.h"
#include "fstream.h"
#include "ctype.h"
#include "string.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
string temp;
ifstream fin;
ofstream fout;
fin.open("test.txt");
if(fin.fail())
{
cout << "Input file opening failed.\n";
exit(1);
}
fin >> temp;
cout << temp.substr(0,1023);
return 0;
}
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(155) : error C2065: 'string' : undeclared identifier
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(155) : error C2146: syntax error : missing ';' before identifier 'temp'
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(155) : error C2065: 'temp' : undeclared identifier
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(167) : error C2228: left of '.substr' must have class/struct/union type
执行 cl.exe 时出错.
ReadFile.exe - 1 error(s), 0 warning(s)
求救了!!!
先在这里谢谢两位朋友了。我现在的VC++版本不行,本身没有包含STD。我原来的VC++版本支持std空间,但卸过后再也装不上去了。没办法,重装了两次系统,才终于装上了原来的版本,现在可以用了。真让我急坏了。 展开
#include "stdafx.h"
#include "iostream.h"
#include "fstream.h"
#include "ctype.h"
#include "string.h"
#include "stdlib.h"
int main(int argc, char* argv[])
{
string temp;
ifstream fin;
ofstream fout;
fin.open("test.txt");
if(fin.fail())
{
cout << "Input file opening failed.\n";
exit(1);
}
fin >> temp;
cout << temp.substr(0,1023);
return 0;
}
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(155) : error C2065: 'string' : undeclared identifier
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(155) : error C2146: syntax error : missing ';' before identifier 'temp'
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(155) : error C2065: 'temp' : undeclared identifier
D:\wsy2121\VisualC++Pro\ReadFile\ReadFile.cpp(167) : error C2228: left of '.substr' must have class/struct/union type
执行 cl.exe 时出错.
ReadFile.exe - 1 error(s), 0 warning(s)
求救了!!!
先在这里谢谢两位朋友了。我现在的VC++版本不行,本身没有包含STD。我原来的VC++版本支持std空间,但卸过后再也装不上去了。没办法,重装了两次系统,才终于装上了原来的版本,现在可以用了。真让我急坏了。 展开
2个回答
展开全部
呃,VC6支持名字空间的,实在不行,打个SP6补丁试试。
------------------------------------
#include "string.h"
你包含的是标准C的string.h文件,而不是C++里面的STL:string头文件,将上面的include修改为:
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "cctype"
#include "string" // 你上面的问题,修改这个就可以了。
#include "cstdlib"
using namespace std; // 引入std全局名字空间
------------------------------------
#include "string.h"
你包含的是标准C的string.h文件,而不是C++里面的STL:string头文件,将上面的include修改为:
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include "cctype"
#include "string" // 你上面的问题,修改这个就可以了。
#include "cstdlib"
using namespace std; // 引入std全局名字空间
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询