我正在尝试第一次用C语言编写文件,但是我得到了,我无法弄清楚为什么。变量nombre
是我创建的文件的名称,然后我想在此文件中写入字符串testo
的内容,但我总是收到错误:
process return -1073741819
char* inserisci (char*);
int main() {
char *nombre=NULL,letra;
char*testo=NULL;
int i=0;
printf("Type file name: ");
nombre=malloc(sizeof(char));
letra=getche();
*(nombre+i)=letra;
while(letra!='\r'){
i++;
nombre=realloc(nombre,(i+1)*sizeof(char));
letra=getche();
*(nombre+i)=letra;
}
*(nombre+i)='\0';
printf("\n");
testo=inserisci(testo);
fopen(nombre,"w+");
fprintf(nombre,"%s",testo);
return 0;
}
char* inserisci (char* testo){
char letra;
int i=0;
testo=malloc(sizeof(char));
letra=getche();
*(testo+i)=letra;
while(letra!='\r'){
i++;
testo=realloc(testo,(i+1)*sizeof(char));
letra=getche();
*(testo+i)=letra;
}
*(testo+i)='\0';
return testo;
}
答案 0 :(得分:4)
fprintf(nombre,"%s",testo);
^here file pointer is needed not the char pointer containing files path or name.
声明文件指针
FILE *fp;
fp=fopen(nombre,"w+');
fprintf(fp,"%s",testo);
这是fprintf
int fprintf(FILE *stream, const char *format, ...)