簡體   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