我正在尝试从一个包含句子的文件中读取,并一次输出两个字母。
IE:
>hello world
Output:
he ll ow or ld
这是我的资料。
#include<iostream>
#include<string>
#include<fstream>
#include<vector>
using namespace std;
int main()
{
string input;
ifstream infile;
infile.open("wordpairs.txt");
while(!infile.eof())
{
getline(infile, input);
for(int i = 0; i < input.length(); i++) //accidentally posted wrong code last time. My apologies.
{
cout << input[i] << input[i+1] << " ";
}
cout << endl;
}
infile.close();
return 0;
}
编辑和运行
这是它当前输出的内容,例如,“hello world”
output:
h he el ll lo ow eo or rl ld d
我该如何修复它呢?我想这与我的for循环调用input[i + 1]有关,但我不知道如何合并单词,除了这样做。
4条答案
按热度按时间zu0ti5jz1#
这将以两个字母为一对打印任何内容:
印刷品:
92dk7w1h2#
尝试将i++修改为i+=2,因为您需要跳过第二个作为第一个
erhoui1w3#
下面的代码一次读取两个字符并打印它们。它使用
for
语法初始化字符,然后只有在成功阅读两个字符时才继续。nbysray54#
尝试使用i+=2来代替,以避免重复。如果它达到length(),则尝试使用i〈s.length()。i在这里已经将s作为字符串