我正在做一些調試,並且我意識到數據的讀取是錯誤的。我試圖使用分隔符將從txt讀取的數據存儲到不同的變量中。C++將數據從txt存儲到使用分隔符的變量中
data.txt中
homer:mtrjw:member:0
bryan:gw~fs:member:0
adam:fifr:member:0
admin12:firns67:admin:0
代碼:
string user, pwd, role;
string lock;
ifstream inFile;
inFile.open("data.txt");
while(inFile.good()){
getline(inFile, user, ':');
getline(inFile, pwd, ':');
getline(inFile, role, ':');
getline(inFile, lock, ':');
cout << user << " " << pwd << " " << role << " " << lock << " " << endl;
/*
some if conditions...
}*/
}
輸出:
homer mtrjw member 0
bryan
gw~fs member 0
adam fifr
member 0
admin12 firns67 admin
0
taken yfpjs member 0
brian
gwnfs member 1
miller rnqqjw
member 0
1
miller rnqqjw
正如可以看到只輸出第一線被正確地存儲和顯示,第二線路向前都是錯誤的。任何解決方案?
將分隔符添加到輸出中:「cout <<」user:「<< user <<」pwd:「<< ...」。你的價值觀並不在你認爲的地方。 – molbdnilo 2015-02-07 08:42:04
nope does not make a different i only cout to see data,is wrong wrong – 2015-02-07 08:50:56
是的,這是錯誤的。添加分隔符會指出您遇到錯誤。 – molbdnilo 2015-02-07 08:56:42