我正在编写一个带有变量fcontents的文件,以输入所需文件的内容。我一直收到警告&;格式字符串不是字符串字面值(可能不安全)&;我不知道那是什么意思。
#include <stdio.h>
int main(void) {
char fname[20];
char fcontents[20];
printf("Enter a file name: ");
scanf("%s", fname);
printf("Enter file contents: ");
scanf("%s", fcontents);
FILE * fpointer = fopen(fname,"w");
fprintf(fpointer, fcontents);
fclose(fpointer);
printf("FILE: %s successfully created", fname);
}
更正后的代码
#include <stdio.h>
int main(void) {
char fname[20];
char fcontents[20];
printf("Enter a file name: nEnter file contents:");
scanf("%s %s", fname, fcontents);
FILE * fpointer = fopen(fname,"w");
fprintf(fpointer, "%s", fcontents);
fclose(fpointer);
printf("FILE: %s successfully created", fname);
}
请注意,在这种情况下,您也可以使用fputs
而不是fprintf
。
#include <stdio.h>
int main(void) {
char fname[20];
char fcontents[20];
printf("Enter a file name: nEnter file contents:");
scanf("%s %s", fname, fcontents);
FILE * fpointer = fopen(fname,"w");
fputs(fcontents, fpointer);
fclose(fpointer);
printf("FILE: %s successfully created", fname);
}