所以我遇到了一个问题,我正在使用cin读取文本文件。以下是我的代码的基本概念:
while(getline(cin,line) {
cout << line << endl;
}
//Do some task
return 0;
我遇到的问题是循环不会终止并且//某些任务永远不会运行。我发现的唯一解决方案是直接查看文本文件,查看有多少行文本,并硬编码条件以摆脱它。所以说我有一个包含5行和一个变量int行的文本文件。然后我会做这样的事情:
while(getline(cin,line) {
cout << line << endl;
if(row == 5) {
break;
}
//Do some task
return 0;
我尝试使用谷歌搜索,但似乎无法在任何地方找到答案。有任何想法吗?而且我只允许使用的库是iostream。
答案 0 :(得分:0)
#include <iostream>
#include <string>
#include <fstream>
int main()
{
std::string line;
std::fstream fin;
fin.open("test.txt");
while (getline (fin, line))
std::cout << line << std::endl;
fin.close();
//Do smth here
return 0;
}
答案 1 :(得分:0)
您可以使用rdbuf重定向您的cin输出 以下链接将帮助您。 http://www.cplusplus.com/reference/ios/ios/rdbuf/
答案 2 :(得分:0)
以下代码块可以解决您的问题: 归功于作者:kevinchkin http://www.cplusplus.com/forum/beginner/8388/
#include<iostream>
#include<fstream>
using namespace std;
int main() {
ifstream myReadFile;
myReadFile.open("text.txt");
char output[100];
if (myReadFile.is_open()) {
while (!myReadFile.eof()) {
myReadFile >> output;
cout<<output;
}
}
myReadFile.close();
return 0;
}
这是从.txt文件中读取的基本模板。我也想不出你为什么不能使用iostream以外的任何理由。他们制作其他图书馆是因为iostream不是最佳方式。 大多数(如果不是全部)教师/教授,当学生超越班级学习时,我已经喜欢它,并尝试学习更多。 如果您需要其他帮助,请查看:http://www.cplusplus.com/doc/tutorial/files/