C语言编写程序,从键盘输入文件名,将输入的数据保存在文件中(以“#”结尾)
时间: 2024-03-17 22:40:04 浏览: 86
可以使用C语言中的文件操作函数和循环来实现从键盘输入数据,直到输入“#”为止,并将数据保存在文件中。具体实现步骤如下:
1. 首先定义一个文件指针,用于打开或创建文件。
```c
FILE *fp;
```
2. 从键盘输入文件名,可以使用scanf函数实现。
```c
char filename[20];
printf("请输入文件名:");
scanf("%s", filename);
```
3. 打开或创建文件,可以使用fopen函数实现。其中,第一个参数是文件名,第二个参数是打开方式,"w"表示写入方式,如果文件不存在则创建,如果文件存在则清空文件内容。
```c
fp = fopen(filename, "w");
```
4. 循环从键盘输入数据,直到输入“#”为止。可以使用fgets函数实现从键盘输入一行数据,然后使用fputs函数将数据写入文件中。
```c
char data[100];
while(1)
{
fgets(data, 100, stdin);
if(data[0] == '#')
break;
fputs(data, fp);
}
```
需要注意的是,fgets函数第一个参数是一个字符数组,表示读取的数据存放的位置;第二个参数是一个整数,表示最多读取的字符数;第三个参数是一个文件指针,表示从哪个文件读取数据,这里使用stdin表示从键盘读取数据。而fputs函数第一个参数是一个字符数组,表示写入的数据;第二个参数是一个文件指针,表示将数据写入哪个文件中。
5. 关闭文件,可以使用fclose函数实现,将文件指针作为参数传入即可。
```c
fclose(fp);
```
完整代码如下:
```c
#include <stdio.h>
int main()
{
FILE *fp;
char filename[20];
printf("请输入文件名:");
scanf("%s", filename);
fp = fopen(filename, "w");
char data[100];
while(1)
{
fgets(data, 100, stdin);
if(data[0] == '#')
break;
fputs(data, fp);
}
fclose(fp);
return 0;
}
```
阅读全文