3. 从键盘输入字符串并保存成文件。要求: (1)输入字符串中包括:大小写字母、空格、数字等字符,以“#”作为字符串输入的结束条件; (2)对输入的字符进行加密并保存,以二进制文件方式保存,用户可以输入保存路径,如:C:\file.txt ;
时间: 2024-02-23 07:01:52 浏览: 54
好的,让我来回答你的问题。
这是一个关于C++的问题。你可以使用C++标准库的fstream头文件中的fstream类来实现文件的输入和输出。下面是代码实现:
```cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入字符串,以#结束:" << endl;
getline(cin, str, '#');
// 对输入的字符进行加密
for (int i = 0; i < str.length(); i++) {
str[i] = str[i] + 1;
}
string path;
cout << "请输入文件保存路径:" << endl;
getline(cin, path);
// 以二进制文件方式保存
ofstream file(path, ios::binary);
if (!file) {
cout << "文件打开失败!" << endl;
return -1;
}
file.write((char*)&str[0], str.length());
file.close();
cout << "文件已保存!" << endl;
return 0;
}
```
在上面的代码中,我们首先使用getline从标准输入读取字符串,并使用“#”作为字符串输入的结束条件。接着,我们对输入的字符进行加密,这里我们将每个字符的ASCII码值加1。
然后,我们使用getline从标准输入读取文件保存路径,并使用ofstream以二进制文件方式保存文件。如果文件打开失败,会输出错误信息。
最后,我们关闭文件并输出保存成功的信息。
运行上述代码,输入字符串“Hello World! 123#”和文件保存路径“C:\file.txt”,文件将会被保存在C:\file.txt中,并且字符串中的所有字符都会被加密。你可以使用二进制编辑器来查看保存的文件内容。
希望能够帮助到你!
阅读全文