从键盘输入若干字符串,逐个将它们写入文件data1.txt中,直到输入“*”时结束。然后从该文件中逐个读出字符串,并在屏幕上显示出来。
时间: 2024-02-21 09:01:24 浏览: 65
可以使用Python的文件操作和输入输出操作来实现这个需求,具体代码如下:
```python
# 将输入的字符串逐个写入文件data1.txt
with open('data1.txt', 'w') as f:
while True:
s = input('请输入一个字符串:')
if s == '*':
break
f.write(s + '\n')
# 从文件data1.txt中逐个读出字符串并显示在屏幕上
with open('data1.txt', 'r') as f:
while True:
s = f.readline().rstrip('\n')
if not s:
break
print(s)
```
首先,使用`with open('data1.txt', 'w') as f:`语句打开文件data1.txt,并以写入模式打开文件,然后使用`while`循环,每次从键盘输入一个字符串,如果输入的字符串为'*',则跳出循环,否则将该字符串写入到文件data1.txt中,每个字符串占据一行,最后关闭文件。
接着,使用`with open('data1.txt', 'r') as f:`语句打开文件data1.txt,并以读取模式打开文件,然后使用`while`循环,每次读取文件中的一行字符串,如果读取到的字符串为空,则跳出循环,否则将该字符串去掉末尾的换行符,然后显示在屏幕上,最后关闭文件。
相关问题
c语言从键盘输入一串字符,存入文件,直到用户输入一个“!”作为终止标志
可以使用C语言中的文件操作函数来实现这个功能。以下是一个简单的程序示例:
```c
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("data.txt", "w"); // 打开文件 data.txt 并以写入模式打开
if (fp == NULL) {
printf("无法打开文件\n");
return 1;
}
printf("请输入一串字符,以 ! 结尾:\n");
while ((ch = getchar()) != '!') { // 从键盘读入字符直到用户输入 ! 为止
fputc(ch, fp); // 将字符写入文件
}
fclose(fp); // 关闭文件
printf("已将输入内容存入文件 data.txt 中\n");
return 0;
}
```
在上述示例中,我们使用了 `fopen()` 函数以写入模式打开了一个名为 `data.txt` 的文件。如果文件打开失败,程序会输出一条错误信息并退出。接着,程序通过一个 `while` 循环从键盘逐个读取字符,每读取一个字符就将其写入文件中。当用户输入 `!` 后,循环结束,程序关闭文件并输出一条成功信息。
注意,上面的程序并没有对用户输入的字符进行任何过滤和处理,如果用户输入了一些不可见的字符,这些字符也会被写入文件中。如果需要对输入进行过滤和处理,可以在循环中添加相应的代码。
arduino将字符串写入epprom
好的,关于将字符串写入EEPROM,以下是一个示例代码:
```C++
#include <EEPROM.h>
void writeString(char address, String data){
int dataLength = data.length();
EEPROM.write(address, dataLength);
for(int i=0; i<dataLength; i++){
EEPROM.write(address+i+1, data[i]);
}
}
String readString(char address){
int dataLength = EEPROM.read(address);
char data[dataLength+1];
for(int i=0; i<dataLength; i++){
data[i] = EEPROM.read(address+i+1);
}
data[dataLength] = '\0';
String output(data);
return output;
}
```
在上述代码中,writeString() 用于将字符串写入EEPROM中,它接收两个参数:地址和字符串数据。函数会首先写入字符串的长度,然后逐个写入每个字符。而 readString() 则是读取EEPROM中的字符串数据,同样也需要传入地址。函数会首先读取长度,然后读取每个字符,并最终返回一个String类型的数据。这里需要注意的是,readString() 函数的返回类型是String而非char数组,这是因为String类型相较于char数组来说更加便于处理。
希望以上回答能够帮助到你。
阅读全文