我试图使用Visual Studio 2008,因为我在XCode中打开文件时出现问题。我对VS很陌生,但这些都是我采取的步骤。我创建了一个新项目,选择了Win32控制台应用程序,空项目。我的代码是:帮助在Visual Studio 2008中打开文件
// C_test.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("Hello");
FILE *filePtr;
filePtr = fopen("test.txt", "r");
if (filePtr == NULL)
{
fprintf(stderr, "Can't open \"test\"\n");
exit(EXIT_FAILURE);
}
else
{
int x;
printf("File open successful\n");
/* read one character at a time until EOF is reached */
while ((x = fgetc(filePtr)) != EOF)
{
//printf("%c", x);
fprintf(stderr, "%x\n",x);
}
}
fclose(filePtr);
system("pause");
return 0;
}
东西似乎并不正确,因为我的错误列表是:
>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(9) : error C2275: 'FILE' : illegal use of this type as an expression
1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(69) : see declaration of 'FILE'
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(9) : error C2065: 'filePtr' : undeclared identifier
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(11) : error C2065: 'filePtr' : undeclared identifier
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(11) : warning C4047: '=' : 'int' differs in levels of indirection from 'FILE *'
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(12) : error C2065: 'filePtr' : undeclared identifier
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(12) : warning C4047: '==' : 'int' differs in levels of indirection from 'void *'
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(23) : error C2065: 'filePtr' : undeclared identifier
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(23) : warning C4047: 'function' : 'FILE *' differs in levels of indirection from 'int'
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(23) : warning C4024: 'fgetc' : different types for formal and actual parameter 1
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(29) : error C2065: 'filePtr' : undeclared identifier
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(29) : warning C4047: 'function' : 'FILE *' differs in levels of indirection from 'int'
1>c:\documents and settings\jon\my documents\visual studio 2008\projects\c_test\c_test\main.c(29) : warning C4024: 'fclose' : different types for formal and actual parameter 1
1>Build log was saved at "file://c:\Documents and Settings\jon\My Documents\Visual Studio 2008\Projects\C_test\C_test\Debug\BuildLog.htm"
1>C_test - 6 error(s), 6 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
有什么想法?对不起,如果这是一个> c:\ documents和settings \ jon \ my文件\ visual studio 2008 \ projects \ c_test \ c_test \ main.c(9):error C2275:'FILE':非法使用此类型作为表达式 1> c:\ program files \ microsoft visual studio 9.0 \ vc \ include \ stdio.h(69):参见'FILE'声明 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(9):error C2065:'filePtr':未声明的标识符 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c (11):error C2065:'filePtr':未声明的标识符 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(11):warning C4047:'= ':'int'与'FILE *'的间接级别不同' 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c (12):error C2065:'filePtr':未声明的标识符 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(12):warning C4047:'= =':'int'与'void *'的间接级别不同1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(23):error C2065 :'filePtr':未声明的标识符 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(23):warning C4047:'function':'FILE *'与“int”的间接级别不同 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(23):warning C4024:'fgetc':不同类型1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(29):error C2 for formal and actual parameter 1 065:'filePtr':未声明的标识符 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(29):warning C4047:'function':'FILE * '与'int'的间接程度不同 1> c:\ documents and settings \ jon \ my documents \ visual studio 2008 \ projects \ c_test \ c_test \ main.c(29):warning C4024:'fclose':different 1>生成日志保存在“file:// c:\ Documents and Settings \ jon \ My Documents \ Visual Studio 2008 \ Projects \ C_test \ C_test \ Debug \ BuildLog.htm”中 1 > C_test - 6个错误,6个警告 ==========构建:0成功,1失败,0最新,0跳过======== ==
有什么想法?谢谢!
John Knoeller注意到您的源文件名为main.c而不是C_test.cpp。我建议你在源文件中编辑你的评论,除了用John Knoeller的建议来解决你的问题。 – 2010-01-20 04:50:40