繁体   English   中英

帮助在Visual Studio 2008中打开文件

[英]Help opening a file in Visual Studio 2008

由于在XCode中打开文件时遇到问题,因此我尝试使用Visual Studio 2008。 我是VS的新手,但是这些是我采取的步骤。 我创建了一个新项目,选择了Win32 Console Application,空项目。 我的代码是:

// 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 and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(9):错误C2275:'FILE':非法使用此类型作为表达式1> c:\\ program files \\ Microsoft Visual Studio 9.0 \\ vc \\ include \\ stdio.h(69):参见'FILE'的声明1> c:\\ documents and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(9):错误C2065:'filePtr':未声明的标识符1> c:\\ documents and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(11) :错误C2065:'filePtr':未声明的标识符1> c:\\ documents and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(11):警告C4047:'=':'int '与'FILE *'1> c:\\ documents and settings \\ jon \\ my document \\ Visual Studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(12):错误C2065:'filePtr':未声明标识符1> c:\\ documents and settings \\ jon \\我的文档\\ Visual Studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(12):警告 C4047:'==':'int'的间接级别与'void *'1> c:\\ documents and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(23) :错误C2065:'filePtr':未声明的标识符1> c:\\ documents and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(23):警告C4047:'function':'FILE *'的间接级别与'int'1> c:\\ documents and settings \\ jon \\ my document \\ Visual Studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(23):警告C4024:'fgetc':不同正式和实际参数1的类型1> c:\\ documents and settings \\ jon \\ mydocuments \\ visual studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(29):错误C2065:'filePtr':未声明的标识符1> c :\\ documents and settings \\ jon \\我的文档\\ Visual Studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(29):警告C4047:'function':'FILE *'在间接级别上与'int'不同1> c:\\ documents and settings \\ jon \\我的文档\\ Visual Studio 2008 \\ projects \\ c_test \\ c_test \\ main.c(29):w 警告C4024:'fclose':正式参数和实际参数1的不同类型1>构建日志保存在“文件:// 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 === =======

有什么想法吗? 谢谢!

您只能在C中的任何代码之前在作用域{}的顶部声明变量。

在C ++中,您可以在任何地方声明它们。 因此,要么将文件名更改为test.cpp,要么将第一个printf向下移动到FILE * fileptr的声明下方。

int main(void ) 
{ 
   FILE *filePtr; 
   printf("Hello"); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM