我目前正在使用Visual Studio 2013。
我有一个基本的txt文件,每行都有记录,每条记录都用半色分隔。例如:
A;James;Jones;N;2;deposit;withdraw
P
A;George;clooney;P;3;deposit;credit;withdraw
P
V
P
A;Charlie;Chaplin;P;2;withdraw;credit
P
V
P
R;Ali;Aksu;N
P
s;Ali;Aksu
E
我使用的是我在网上找到的简单代码,只是将其打印到屏幕上:
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <ctype.h>
#include <string>
#include <string.h>
#include <fstream>
#include <sstream>
using namespace std;
int main(){
ifstream file("input_file.txt");
string line;
if (file)
{
string token;
stringstream iss;
while (getline(file, line))
{
iss << line;
while (getline(iss, token, ';'))
{
cout << token << endl;
}
iss.clear();
}
}
system("PAUSE");
return 0;
}
但是当我运行程序时,它会在输出的开头添加一些不存在的字符,这是在使用g ++在SSH上编译时输出的第一行:
甲
这是什么原因,我试图在更大的项目中使用std :: getline,但这会影响所有的程序结构。解决方案是什么?
非常感谢。