对于我尝试创建文件然后写入文件的程序,我写了以下内容:
int main(){
...
....
(some code)
....
char DataBuffer[] = "This is the test file";
...
...
}
我收到错误“DataBuffer:undeclared identifier”。 我使用的是Microsoft Visual C ++ Express。在stackoverflow.com中的一个老问题中,我已经读过Visual C ++使用旧的C89标准并且它不支持C99标准。 出于这个原因,我必须在开头声明变量(我为CreateFile()和WriteFile的其余参数做了这些。我的意思是,当你考虑以下事项时:
DWORD dwCreationDisposition = CREATE_NEW;
然后我把它拆分并改为:
DWORD dwCreationDisposition;
...
dwCreationDisposition = CREATE_NEW
但是我不知道我应该怎么做一个数组。所以,例如我写的时候:
char DataBuffer[];
....
DataBuffer[] = = "This is the test file";
然后我也得到相同的错误消息。 我能做什么 ?是否有可能更改编译器选项?或者有机会重写它,以便集成编译器接受它作为其他分裂变量/参数?
最好的问候,
答案 0 :(得分:2)
如果你想让你的字符串可以重写,你应该这样:
char DataBuffer[MAX_SIZE];
....
strcpy(DataBuffer,"This is the test file");
还要考虑使用strncpy
来避免缓冲区溢出错误。
如果你的字符串是常数,那么:
const char DataBuffer[] = "This is the test file";