1
我遇到了問題getline()
。我的文本文件中的第一行是C C0 H:7 E:7 P:10
,但打印line
(其中包含由getline()
返回的字符串)將生成C▒Hdtors
。這裏發生了什麼?getline()得到不正確的字符
的main.cpp
int main(int argc, char* argv[]) {
string line,tmp_holder;
int tmp_h, tmp_e, tmp_p, counter=0;
vector<string> info;
ifstream finp(argv[0]);
map<int, Circuit> circuits;
vector<Juggler> jugglers;
if (!finp.is_open()) {
cerr << "Unable to open input file " << argv[0] << endl;
exit(1);
}
while (getline(finp,line)) {
tmp_holder = "";
info.clear();
if (line[0] == 'C') {
cout << "Line: " << line << endl;
我猜測你是從命令行傳遞文件的名稱。它存儲在argv [1]中,而不是0. –
就是這樣。謝謝。 –