【发布时间】:2019-05-16 14:40:01
【问题描述】:
我正在尝试解决文件处理问题,但我想不出一种方法来做到这一点。任何帮助,将不胜感激! 需要这样的东西:
#include<stdio.h>
int main()
{
char string[10];
FILE *fp1;
printf("Enter the string");
scanf("%s", string);
fp1 = fopen(string, "w");
/----
fclose(fp1);
return 0;
}
我不知道如何获取序列化文件 :( 我以为我可以制作 10 个 FILE* fptr 然后再做,但我不知道如何获得序列化部分
Bruno 的解决方案似乎奏效了。
#include<stdio.h>
#include<string.h>
int main()
{
char string[10];
FILE* fp[10];
printf("Enter the string");
scanf("%s", string);
char fn[sizeof(string)+8];
for(int i=0; i<=10; i++){
sprintf(fn, "%s%d", string, i);
if((fp[i] = fopen(fn, "w")) == 0)
printf("Cannot open %s\n", fn);
}
for(int i=0; i<=10; i++){
fclose(fp[i]);
}
return 0;
This seems to be working. Thanks
应该是这样的:
输入:
Give me a name: Test
输出:
Created Test1.txt, Test2.txt, Test3.txt, .... Test10.txt
【问题讨论】:
-
您在哪里遇到了麻烦?获取用户输入?创建文件名?创建文件?
-
你试过什么?发布您迄今为止的尝试。
-
请告诉我们您尝试了什么以及它是如何失败的。请阅读How to Ask页面!!另外:idownvotedbecau.se/noattempt
-
要创建文本文件,只需查看以“w”模式打开的 fopen 函数。应该打开具有您给它的特定名称的新文件
-
如第一条评论所述,见sprintf。
char filename[256]; sprintf(filename, "%s%d.txt", user_input, the_number);