在vs2010中编写文件(c ++,win32)

时间:2013-06-01 10:19:05

标签: c++ winapi filestream

我之前问了这个问题,你告诉我提到错误, 所以我现在会提到它们(我无法弄清楚如何继续我开始的最后一个线程,我看到的只是一个“添加注释”按钮和一个“回答你的问题”按钮,所以我不得不纠正问题和再问一遍,抱歉):

我的问题如下: 我正在使用visual studio 2010,我正在编写一个win32应用程序(不是控制台应用程序)。 我需要知道如何从这个应用程序写入文件。

我包含了这些标题:windows.h,stdlib.h,string.h和tchar.h

我写了一个非常简单的hello world应用程序,运行得很好。

但是当我试图包含iostream和fstream时 在我的项目中,编译器给了我以下错误。

1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(21): error C2039: 'abort' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(21): error C2873: 'abort' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration
IntelliSense: the global scope has no "abort"   c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib  21  13  
IntelliSense: the global scope has no "exit"    c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib  24  13  

当我包含fstream.h时,我得到:

error C1083: Cannot open include file: 'fstream.h': No such file or directory   c:\users\user\documents\visual studio 2010\projects\helloworld\helloworld\main.cpp  5   1   helloworld
IntelliSense: cannot open source file "fstream.h" c:\users\user\documents\visual studio 2010\projects\helloworld\helloworld\main.cpp    5   1   helloworld

iostream.h也是一样。

为什么会出现这些错误?

4 个答案:

答案 0 :(得分:5)

在C ++中,您应该使用<cstdlib>而不是<stdlib.h><cstring>而不是<string.h>(假设您的意思是C样式字符串。如果您想要C ++ std ::字符串,请使用<string> [不含.h]。

您应该使用<fstream>,而不是<fstream.h>

答案 1 :(得分:1)

请检查您的:

#include "stdafx.h"

第一个包含.cpp文件的内容。

在此之后写下其他内容:

#include "stdafx.h"
#include <iostream>
// ... and so on

int main(...) {

}

...这是微软编译器经常犯的错误(见C++ cout gives undeclared identifier)。

答案 2 :(得分:0)

您可能写过#include "iostream"而不是#include <iostream>

答案 3 :(得分:0)

可能有帮助..尝试从

检查您的错误原因

http://msdn.microsoft.com/en-us/library/et4zwx34%28v=vs.80%29.aspx