这是我的职责。我的字符peca
定义为char peca[MAX_BUFFER]
,其中max_buffer
是1024。我想在我的“ tabuleiro”文件中写入peca
内部的内容,但是我的程序总是在说该文件可能尚未初始化。
所以我的函数不会打印我的txt文件,有什么想法吗?
void write_txt (char *peca){
FILE *file;
fopen("tabuleiro.txt","w");
fprintf(file,"M: %c\n",*peca);
fclose(file);
}
答案 0 :(得分:5)
所以我的函数不会在我的txt文件中打印
将FILE* fopen(const char* filename, const char* mode );
的返回指针分配给您的文件,如下所示:
file = fopen("tabuleiro.txt", "w");
然后,您将在打开file
而不是 NULL
之前检查其是否成功打开。
此外,您可能希望使用%s
写文件,该文件用于字符串。
因此,您可以尝试以下操作:
void write_txt (char *peca) {
FILE *file = fopen("tabuleiro.txt", "w");
if(!file) {
printf("File did NOT open successfully!\n")
// error handling here..do not execute the fprintf() or fclose()
}
fprintf(file,"M: %s\n",*peca);
fclose(file);
}