如何一次打印出多个角色

时间:2014-04-05 06:01:09

标签: c++

我保存了这个词" abs"在一个文本文件中,我试图制作一个可以在另一个文件中同时打印三个字符的代码..不像那样

while (content[i] == 'a')
{
fout<<"a";
break;}
while (content[i] == 'b')
{
fout<<"b";
break;}
while (content[i] == 's')
{
fout<<"s";
break;}

这是我写的代码,但它没有打印任何东西..

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ofstream fout("E:\\hoss.txt");
ifstream file("E:\\test.txt");
string content;
while(file >> content)
{
for (size_t i = 0; i < content.size(); i++)
{
while (content[i] == 'ab')
{
fout<<"ab";
break;}
}}
system("pause");
return  0;
}
谁能帮忙?

2 个答案:

答案 0 :(得分:0)

您没有任何代码可以打印任何内容。你只是继续添加到缓冲区,但你永远不会刷新缓冲区。摆脱system("pause");,让程序结束。结束程序会刷新所有缓冲区。

while (content[i] == 'ab')

这太令人困惑了。你真的把ab作为一个角色常数吗?

答案 1 :(得分:0)

int main()
{
ofstream fout("E:\\hoss.txt");
ifstream file("E:\\test.txt");
string content;
while(file >> content)
{
    for (size_t i = 0; i < content.size(); i++)
    {
        if((content[i] == 'a') && (content[i+1] == 'b'))
        {
           fout<<"ab";
           break;
        }
    }
}
system("pause");
return  0;
}