所以,这是我的代码。我必须从给定文本中删除所有“a”和“A”(可以是随机的),但这是我得到的文本块示例:
敏捷的棕色狐狸跳过一只懒惰的狗。当狐狸绕过弯道时,一只猫跑了。再往前走,一名学生正在参加 CS2433 课程的考试。
我添加了其他几个 cout 只是为了看看发生了什么,看来我的 cin 只接受给定文本的“The”部分来读入。
我不确定发生了什么事?我用来运行带有输入文件的文件的 unix 命令是:./hw5.out < hw5in.txt 我应该使用不同的东西来传递字符串吗?
1 #include <iostream>
2 #include <algorithm>
3 using namespace std;
4
5 int main()
6 {
7
8 string str;
9 cin >> str;
10
11 char chars[] = "aA";
12 cout << str;
13 for (unsigned int i = 0; i < str.length(); i++)
14 {
15
16
17 str.erase (std::remove(str.begin(), str.end(), chars[i]), str.end());
18 }
19 cout << str;
20 for (int i = 0; i < str.length();i++)
21 {
22 if (str[i] == '\n')
23 {
24 str[i] = '\t';
25 }
26 }
27
28
29 cout << str;
30
31 }
更新:我用getLine命令写了一段时间,将每次迭代连接成一个变量“文本”,然后运行我的一些原始代码所做的,用文本替换所有str。感谢您的回复,我肯定会浏览发布的存储库,谢谢!