修改这段代码,使得创建的文件保存至一个本地地址:// 创建文件函数 void create_file(FILE *fp, char *fname) { // 获取用户输入的新文件名 printf("\t请输入新建的文件名:\n\t"); // 读取字符串 fgets(fname, MAX_LEN, stdin); fgets(fname, MAX_LEN, stdin); char *pos; // 查找'\n'字符 if ((pos = strchr(fname, '\n')) != NULL) // 将'\n'替换为'\0' *pos = '\0'; // 创建文件并判断是否成功 if ((fp = fopen(fname, "w+")) == NULL) { printf("\t不能打开文件!\n"); exit(0); } printf("\t%s文件已经创建好!\n\n", fname); fclose(fp); }
时间: 2024-03-20 22:42:38 浏览: 56
修改后的代码如下所示:
```c
// 创建文件函数
void create_file(char *fname) {
FILE *fp;
// 获取用户输入的新文件名
printf("\t请输入新建的文件名:\n\t"); // 读取字符串
fgets(fname, MAX_LEN, stdin);
char *pos;
// 查找'\n'字符
if ((pos = strchr(fname, '\n')) != NULL) {
// 将'\n'替换为'\0'
*pos = '\0';
}
// 创建文件并判断是否成功
if ((fp = fopen(fname, "w+")) == NULL) {
printf("\t不能打开文件!\n");
exit(0);
}
printf("\t%s文件已经创建好!\n\n", fname);
fclose(fp);
}
```
修改的地方是将原来的函数参数中的 `FILE *fp` 去掉,并且函数内部将文件指针 `fp` 定义在函数内部。同时,将创建的文件保存在用户输入的文件名 `fname` 所表示的位置。
相关问题
修改这段代码,使得创建的文件生成一个text文件并保持在本地:// 创建文件函数 void create_file(FILE *fp, char *fname) { // 获取用户输入的新文件名 printf("\t请输入新建的文件名:\n\t"); // 读取字符串 fgets(fname, MAX_LEN, stdin); fgets(fname, MAX_LEN, stdin); char *pos; // 查找'\n'字符 if ((pos = strchr(fname, '\n')) != NULL) // 将'\n'替换为'\0' *pos = '\0'; // 创建文件并判断是否成功 if ((fp = fopen(fname, "w+")) == NULL) { printf("\t不能打开文件!\n"); exit(0); } printf("\t%s文件已经创建好!\n\n", fname); fclose(fp); }
修改后的代码如下所示:
```c
// 创建文件函数
void create_file(char *fname) {
FILE *fp;
// 获取用户输入的新文件名
printf("\t请输入新建的文件名:\n\t"); // 读取字符串
fgets(fname, MAX_LEN, stdin);
char *pos;
// 查找'\n'字符
if ((pos = strchr(fname, '\n')) != NULL) {
// 将'\n'替换为'\0'
*pos = '\0';
}
// 添加文件后缀名 ".txt"
strcat(fname, ".txt");
// 创建文件并判断是否成功
if ((fp = fopen(fname, "w+")) == NULL) {
printf("\t不能打开文件!\n");
exit(0);
}
printf("\t%s文件已经创建好!\n\n", fname);
fclose(fp);
}
```
修改的地方是在用户输入的文件名 `fname` 后面添加了一个 `.txt` 的后缀,使得文件生成一个文本文件。同时,将创建的文件保存在用户输入的文件名 `fname` 所表示的位置。
修改这段代码,使得创建的文件生成一个text文件并保持在本地C盘:// 创建文件函数 void create_file(FILE *fp, char *fname) { // 获取用户输入的新文件名 printf("\t请输入新建的文件名:\n\t"); // 读取字符串 fgets(fname, MAX_LEN, stdin); fgets(fname, MAX_LEN, stdin); char *pos; // 查找'\n'字符 if ((pos = strchr(fname, '\n')) != NULL) // 将'\n'替换为'\0' *pos = '\0'; // 创建文件并判断是否成功 if ((fp = fopen(fname, "w+")) == NULL) { printf("\t不能打开文件!\n"); exit(0); } printf("\t%s文件已经创建好!\n\n", fname); fclose(fp); }
修改后的代码如下所示:
```c
// 创建文件函数
void create_file(char *fname) {
FILE *fp;
// 获取用户输入的新文件名
printf("\t请输入新建的文件名:\n\t"); // 读取字符串
fgets(fname, MAX_LEN, stdin);
char *pos;
// 查找'\n'字符
if ((pos = strchr(fname, '\n')) != NULL) {
// 将'\n'替换为'\0'
*pos = '\0';
}
// 添加文件后缀名 ".txt"
strcat(fname, ".txt");
// 定义文件路径
char path[MAX_LEN] = "C:\\";
strcat(path, fname);
// 创建文件并判断是否成功
if ((fp = fopen(path, "w+")) == NULL) {
printf("\t不能打开文件!\n");
exit(0);
}
printf("\t%s文件已经创建好!\n\n", path);
fclose(fp);
}
```
修改的地方是在用户输入的文件名 `fname` 后面添加了一个 `.txt` 的后缀,使得文件生成一个文本文件。同时,将创建的文件保存在本地 C 盘上的路径 `C:\` 下。
阅读全文