设计两程序实现:①、创建文本文件,文件主名为你姓名的全拼,扩展名可取为.txt,内容(为你个人的学号、姓名、家庭所在地等信息)由用户在运行程序时从标准输入设备输入;②、把前一程序创建的文件内容在标准输出设备上显示出来。
时间: 2024-03-07 12:48:40 浏览: 32
以下是两个程序的代码:
程序1:创建文本文件
```python
name = input("请输入你的姓名:")
id = input("请输入你的学号:")
address = input("请输入你的家庭所在地:")
filename = name.lower() + ".txt"
with open(filename, "w") as f:
f.write("姓名:" + name + "\n")
f.write("学号:" + id + "\n")
f.write("家庭所在地:" + address + "\n")
print("文件创建成功!")
```
程序2:显示文本文件内容
```python
name = input("请输入你的姓名:")
filename = name.lower() + ".txt"
with open(filename, "r") as f:
content = f.read()
print(content)
```
程序1会先要求用户输入姓名、学号和家庭所在地等信息,然后将这些信息写入一个文本文件中,文件名为用户输入的姓名全拼加上扩展名".txt"。程序2会先要求用户输入姓名,然后根据输入的姓名读取相应的文本文件,并将文件内容显示在标准输出设备上。
相关问题
创建文本文件,文件主名为你姓名的全拼,扩展名可取为.txt,内容(为你个人的学号、姓名、家庭所在地等信息)由用户在运行程序时从标准输入设备输入;
好的,这是一个关于文件操作的问题。首先需要明确的是,文件的创建、写入和读取都需要使用文件指针。在 C 语言中,文件指针是一个指向 FILE 类型的指针变量。我们可以通过 fopen() 函数打开一个文件,并获得该文件的文件指针。接下来,可以使用 fprintf() 函数将数据写入文件中,使用 fscanf() 函数从文件中读取数据。
下面是一个示例程序,可以实现你的需求:
```c
#include <stdio.h>
int main() {
char name[20], id[20], address[50];
printf("请输入你的姓名:");
scanf("%s", name);
printf("请输入你的学号:");
scanf("%s", id);
printf("请输入你的家庭所在地:");
scanf("%s", address);
FILE *fp = fopen(strcat(name, ".txt"), "w");
fprintf(fp, "姓名:%s\n", name);
fprintf(fp, "学号:%s\n", id);
fprintf(fp, "家庭所在地:%s\n", address);
fclose(fp);
printf("文件已创建!\n");
return 0;
}
```
在程序运行时,会提示用户输入姓名、学号和家庭所在地。然后,程序会打开一个以姓名为文件名的文本文件,并将用户输入的信息写入该文件中。最后,程序会输出“文件已创建!”的提示信息。
需要注意的是,程序中使用了 strcat() 函数将文件名和扩展名拼接在一起。此外,程序中没有对用户输入的字符串进行长度检查,所以需要确保输入的字符串不会超过数组的长度。
①、创建文本文件,文件主名为你姓名的全拼,扩展名可取为.txt,内容(为你个人的学号、姓名、家庭所在地等信息)由用户在运行程序时从标准输入设备输入;②、把前一程序创建的文件内容在标准输出设备上显示出来。
好的,这个问题需要在前一个问题的基础上进一步扩展。我们需要使用到文件读取的相关操作,用以将前一个程序中创建的文件内容读取出来并输出到标准输出设备上。
下面是一个示例程序,可以实现你的需求:
```c
#include <stdio.h>
int main() {
char name[20], id[20], address[50];
printf("请输入你的姓名:");
scanf("%s", name);
printf("请输入你的学号:");
scanf("%s", id);
printf("请输入你的家庭所在地:");
scanf("%s", address);
FILE *fp = fopen(strcat(name, ".txt"), "w");
fprintf(fp, "姓名:%s\n", name);
fprintf(fp, "学号:%s\n", id);
fprintf(fp, "家庭所在地:%s\n", address);
fclose(fp);
printf("文件已创建!\n");
// 读取文件并输出到屏幕
fp = fopen(strcat(name, ".txt"), "r");
char ch;
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
fclose(fp);
return 0;
}
```
在程序运行时,首先提示用户输入姓名、学号和家庭所在地。然后,程序会打开一个以姓名为文件名的文本文件,并将用户输入的信息写入该文件中。接着,程序会输出“文件已创建!”的提示信息。
在文件写入完成后,程序会重新打开该文件,并将文件中的内容逐个字符地读取出来并输出到标准输出设备上。
需要注意的是,程序中再次使用了 strcat() 函数将文件名和扩展名拼接在一起。此外,为了读取文件中的每个字符,我们使用了 fgetc() 函数。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)