我一直收到关于write_file的参数的错误/警告,该参数从整数开始生成一个没有强制转换的指针。
我试图将一个字符数组写入文件。我认为fprintf会收到一系列字符 这里是代码:(最后的错误信息)
# include <stdio.h>
# include <stdlib.h>
char take_char();
void write_file(char ch[10]);
int main(){
char ch;
ch = take_char();
write_file(ch);
printf("successfully worked");
return 0;
}
char take_char(){
char ch;
printf("Please input a character:\n");
scanf("%s", &ch);
return ch;
}
void write_file(char ch[10]){
FILE *fp;
fp = fopen("C:\\Users\\Jormak\\Desktop\\C_practicing\\Projects\\file_main.txt","w");
if (fp == NULL){
printf("FILE did not open.");
}
else{
printf("Successfully opened the file");
}
fprintf(fp,ch[10]);
fclose(fp);
}
错误讯息:
这就是错误:
main.c: In function ‘main’:
main.c:10:2: warning: passing argument 1 of ‘write_file’ makes pointer from integer without a cast [enabled by default]
write_file(ch[10]);
^
main.c:5:6: note: expected ‘char *’ but argument is of type ‘char’
void write_file(char ch[10]);
^
main.c: In function ‘write_file’:
main.c:33:2: warning: passing argument 2 of ‘fprintf’ makes pointer from integer without a cast [enabled by default]
fprintf(fp,ch[10]);
^ 在/usr/include/stdio.h:29:0中包含的文件中, 来自main.c:1: /usr/include/stdio.h:173:5:注意:预期'const char *'但参数类型为'char' int _EXFUN(fprintf,(FILE * __ restrict,const char * __ restrict,...) ^