所以我試圖從文件中讀入。如果在一條線的中間有一個'#',或者對於這個問題的任何地方,我想忽略其餘部分,並繼續閱讀。這是我有:'#'後忽略所有內容
while(getline(pgmFile, temp))
{
istringstream readIn(temp);
lines++;
while(readIn >> convert)
{
//cout << temp[counter] << endl;
if (temp.length() == 0 || temp[counter] == '#' || temp[counter] == '\r' || temp[counter] == '\n')
{}
else
{/*cout << temp << endl;*/}
if(temp.at(counter) == '\n' || temp.at(counter) == '\r')
{}
if(convert < 57 || convert > 40)
{
pixels.push_back(convert);
}
}
此輸入文件:
P5
4 2
64
0 0 0 0 # don't read these: 1 1 1 1
0 0 0 0
應該在0的閱讀,但#後,什麼都沒有。
temp是「string」類型,它是逐行讀取的。
任何幫助非常感謝!
這樣做:'temp.erase(標準::發現(temp.begin(),溫度.end(),'#'),temp.end())'在將你的行發送到字符串流之前。 – WhozCraig
這個技巧。非常感謝! – Necrode