正在跳过带有getfile的行
Skipping a line with getfile
对于我的程序,我们应该读取一个文本文件并将其打印到屏幕上。在文本文件中,消息可能看起来像:
#email
mailservice
birdman
Intro
Hello Birdman! Welcome!
#email
Frank
birdman
Hello
Hello Birdman, how are you?
我需要跳过#电子邮件,以便打印为:
From: mailservice
To: birdman
Subject: Intro
Message: Birdman! Welcome!
From: Frank
To: birdman
Subject: Hello
Message:Hello Birdman, how are you?
这是我的代码:
std::string filename1 = GetInboxFile(username);
std::ifstream fin(filename1);
std::string word;
std::cout << "n";
std::string formatted = FormatEmailString("From: ", "To: ", "Subject: ", "Message: ");
//FormatEmailString is a function
std::cout << formatted;
while (fin.eof() == false)
{
std::string line = GetLine(fin);
if (fin.eof() == false)
{
std::cout << line << std::endl;
}//END IF STATEMENT
}//END WHILE LOOP
std::cout << std::endl;
fin.close();
while (fin)
{
std::string line = GetLine(fin);
if (fin) // @DietmarKühl: checking if the input was successful
{
// if (line.find("#email") != std::string::npos)
if(line == "#emailn")
{
line = "n"; // you want a empty line instead
// continue; // you could use continue to simply skip it
}
std::cout << line << std::endl;
}
}
如果输入文件只包含有效数据,而我们不需要检查它,那么我们可以得到如下正确的输出:
while (getline(fin, lineFromFile)) {
if (lineFromFile.find("#email") < 40000) {
getline(fin, lineFromFile);
cout<<"From: "<<lineFromFile<<endl;
getline(fin, lineFromFile);
cout<<"To: "<<lineFromFile<<endl;
getline(fin, lineFromFile);
cout<<"Subject: "<<lineFromFile<<endl;
getline(fin, lineFromFile);
cout<<"Message: "<<lineFromFile<<endl<<endl;
}
}
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 使用QTreeView,如何通过调用函数只突出显示特定的行/列
- 对对应于矩阵的行和列的对向量进行排序
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 双击更改 mfc 中列表控件中的行的颜色
- 根据新的行分隔符从字符串中删除子字符串
- 绘制二维矩阵的行和列
- 将 MatrixXd 的行传递给要修改的函数,而不在 Eigen 中创建副本
- 如何在循环中打印两个相邻的行,同时在 c++ 中将它们都保留在一行中
- 如何在 DevC++ 上显示带有中文字母的行?
- 如何使用循环结束 c++ 上的行
- 使用 range-v3 读取包含逗号分隔数据的行
- 我如何根据 c++ 中的行合并两个 2D 数组
- 使用 C++将文本光标移动到屏幕中不可见的行
- 获取上次执行的返回语句的行
- 当在C++中找到所需的行时,如何从文件中获取接下来的 n 行
- 如何将矩阵的行随机复制到内存中的另一个矩阵的过程并行化?
- 如何删除 Eigen3 矩阵中某些不连续的行和列?
- C++:交换矩阵的行:使用单维数组
- 正在跳过带有getfile的行