我不知道如何实施此算法
//你有一个像
这样的文本文件12 3
3
4 4
那么,我怎么知道这条线已经结束了? 我需要将数据处理为整数而不是字符串
答案 0 :(得分:0)
一行的结尾由字符'\n'
表示。
因此,当您阅读文件时,您必须查找'\n'
字符,然后您才能找到属于哪一行的内容。
<强> PROCESS 强>
'\n'
字符答案 1 :(得分:0)
请参阅cppreference
等教程从上面的教程:
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
cout << line << '\n';
}
myfile.close();
}
快速解释:&#39; getline&#39;返回true,直到未到达文件末尾。
答案 2 :(得分:0)
运行此程序,看看发生了什么。它应该非常直接。
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <vector>
using namespace std;
int main()
{
ifstream ifs;
ifs.open("input.txt");
string line;
while (getline(ifs, line))
{
cout<<"whole line is: "<<line<<endl;
//can seperate input:
istringstream is(line);
int numberOnLine;
is>>numberOnLine;
vector<int> myvec;
while(is)
{
myvec.push_back(numberOnLine);
is>>numberOnLine;
}
if(myvec.size()<2)
{
cout<<"this line had less than 2 numbers ";
}
else{
cout<<"the line had at least 2 numbers, here they are: ";
for(int i=0; i<myvec.size(); ++i) cout<<myvec.at(i)<<" ";
}
cout<<endl;
}
}