各位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空间,但卸过后再也装不上去了。没办法,重装了两次系统,才终于装上了原来的版本,现在可以用了。真让我急坏了。
展开
 我来答
ggdmdf
2008-08-06 · TA获得超过1520个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1239万
展开全部
呃,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全局名字空间
帐号已注销
2008-08-06 · 超过20用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:52.8万
展开全部
换一个编译器,
试试devc++
小巧好用!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式