从键盘上输入多个字符,以#号结束,存入指定文件中,然后从文件中读出并显示。
时间: 2024-02-27 13:54:04 浏览: 21
好的,下面是一个示例代码,可以实现从键盘输入多个字符,以 "#" 结束,然后将输入的内容存入指定的文件中,并读取文件中的内容并输出到屏幕上:
```c
#include <stdio.h>
int main() {
FILE *fp;
char c;
// 打开文件并将输入的内容写入文件中
fp = fopen("test.txt", "w");
printf("请输入多个字符,以#号结束:\n");
while ((c = getchar()) != '#') {
fputc(c, fp);
}
fclose(fp);
// 重新打开文件并读取文件内容并输出到屏幕上
fp = fopen("test.txt", "r");
printf("\n从文件中读取的内容为:\n");
while ((c = fgetc(fp)) != EOF) {
printf("%c", c);
}
fclose(fp);
return 0;
}
```
这个程序会从键盘上输入多个字符,以 "#" 结束,并将输入的内容存入名为 "test.txt" 的文件中。然后,它重新打开文件并读取文件内容,并将读取到的内容输出到屏幕上。
请注意,在实际应用中,你需要添加更多的错误处理和边界条件检查来确保程序的正确性和健壮性。
相关问题
从键盘上输入多个字符,以#号结束,存入指定文件中,然后从文件中读出并显示。测试输入: /data/workspace/myshixun/myfile3.txt abdefdggh#
好的,我来解答你的问题。
实现这个功能可以使用C语言中的文件操作函数。具体步骤如下:
1. 打开指定文件,使用fopen函数,指定打开模式为“写入”,如果文件不存在,则创建该文件。
```c
FILE *fp = fopen("/data/workspace/myshixun/myfile3.txt", "w");
```
2. 从键盘上读取字符,使用getchar函数,判断输入的字符是否为“#”,如果是,则退出循环。
```c
char c;
while ((c = getchar()) != '#') {
// 写入文件
}
```
3. 将读取到的字符写入文件,使用fputc函数。
```c
fputc(c, fp);
```
4. 关闭文件,使用fclose函数。
```c
fclose(fp);
```
5. 重新打开文件,使用fopen函数,指定打开模式为“读取”。
```c
fp = fopen("/data/workspace/myshixun/myfile3.txt", "r");
```
6. 从文件中读取字符,使用fgetc函数,判断是否到达文件结尾。
```c
while ((c = fgetc(fp)) != EOF) {
// 显示字符
}
```
完整代码如下:
```c
#include <stdio.h>
int main() {
// 写入文件
FILE *fp = fopen("/data/workspace/myshixun/myfile3.txt", "w");
char c;
while ((c = getchar()) != '#') {
fputc(c, fp);
}
fclose(fp);
// 读取文件
fp = fopen("/data/workspace/myshixun/myfile3.txt", "r");
while ((c = fgetc(fp)) != EOF) {
putchar(c);
}
fclose(fp);
return 0;
}
```
希望能够帮助到你!
从从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。
好的,以下是 Python 的实现代码:
```python
# 从键盘输入多行字符串,以单行“#”结束输入,存入指定文件
with open('input.txt', 'w') as f:
while True:
line = input()
if line.strip() == '#':
break
f.write(line + '\n')
# 从文件中读取内容输出到屏幕
with open('input.txt', 'r') as f:
for line in f:
print(line.rstrip())
```
这段代码会先从键盘输入多行字符串,以单行“#”结束输入,然后将输入的内容写入到指定文件 input.txt 中。接着从文件中读取内容,并逐行输出到屏幕上。注意,`rstrip()` 方法用于去掉字符串末尾的空格或换行符。