我保存了这个词" 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;
}
谁能帮忙?
答案 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;
}