未声明的标识符虽然已声明

Undeclared Identifier although it is declared

对于我尝试创建文件然后写入其中的程序,我编写了以下内容:

 int main(){
        ...
        ....
       (some code)
        ....
          char DataBuffer[] = "This is the test file";
        ...
        ...


}

我收到错误 "DataBuffer: undeclared identifier"。 我正在使用 Microsoft Visual C++ Express。在 whosebug.com 中的一个老问题中,我读到 Visual C++ 使用旧的 C89 标准并且它不支持 C99 标准。 出于这个原因,我必须在开始时声明变量(我为 CreateFile() 和 WriteFile 的其余参数所做的)。我的意思是,当您考虑以下内容时:

   DWORD dwCreationDisposition = CREATE_NEW;

然后我拆开改成:

   DWORD dwCreationDisposition;
   ...
   dwCreationDisposition = CREATE_NEW

但我不知道应该如何使用数组。所以,例如当我写:

 char DataBuffer[];
 ....
 DataBuffer[] = = "This is the test file";

然后我也得到同样的错误信息。 我能做些什么 ?是否有可能更改编译器选项?或者有机会重写它以便集成编译器接受它作为另一个拆分 variables/parameters ?

此致,

如果您希望您的字符串可重写,您应该这样做:

 char DataBuffer[MAX_SIZE];
 ....
 strcpy(DataBuffer,"This is the test file");

同时考虑使用 strncpy 来避免缓冲区溢出错误。

如果您的字符串是常量,则:

const char DataBuffer[] = "This is the test file";