我正在尝试第一次用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;
}
最佳答案
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, ...)