我一直收到一个关于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,...)^