我希望能够创建一个文件,然后将文本写入其中,但我不知道该怎么做。 这是我的一段代码:
FILE *note;
char name[100], *content;
printf("Write the name of your file.\n");
scanf("%s", &name);
note=fopen(name, "w");
printf("Write the content of your file\n");
接下来我该怎么做?
答案 0 :(得分:0)
接下来我该怎么做?
好吧,你应该为content
分配一些空间(尝试malloc()
),然后将数据读入该空间(如果需要,可以realloc()
增加空间)。
之后,您需要将内容写入文件。
最后用free()
释放不再需要的空间。
答案 1 :(得分:0)
您需要使用malloc分配内存,读取输入并将其存储在已分配的内存中。然后将其写入您打开的文件,最后释放已分配的内存。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
FILE *note;
char name[100], *content;
content = (char*)malloc(1024);
printf("Write the name of your file : ");
scanf("%s",name);
note = fopen(name, "w");
printf("\nWrite the content of your file : ");
scanf(" %[^\n]s",content);
fprintf(note,"%s",content);
printf("\nContent has been written to file!\n\n");
free(content);
fclose(note);
return 0;
}