2016-11-17 29 views
2

我在輸入文件流中想要做什麼,然後通過向用戶顯示信息來評估每個字符使用我的其他代碼。我唯一的問題是,如果我不喜歡我如何從一行代碼中找到某個字符的特定位置

myIn >> ch; 
while (myIn) 
{ 
    //proceeds with code 
} 

,從文件輸入流中讀取一個循環,我怎麼能找到那個角色,我只是在讀的行數和位置?

例如在這樣

 
Hello 
How are you 

我想H中閱讀,稱H在一行中發現,位置0繼續一個文本文件,讀取W,在位置1線發現2.沒有抓住整個字符串的代碼行?

回答

1

獲得行號和字符位置的唯一方法是自己算來:

char c; 
unsigned int character_count = 0U; 
unsigned int line_number = 0U; 
while (in.get(c)) 
{ 
    ++character_count; 
    if (c == '\n') 
    { 
    ++line_number; 
    // Optional: 
    // character_count = 0U; 
    } 
} 

注:表達in>>c將跳過空格。

+0

謝謝,我注意到如果我在啓動讀取之前使用myIn >> noskipws,它不會跳過它們,並讀取爲\ n字符。 – Crazypete3

0

添加字符和行的計數器,在while循環中手動增加yoyu。

+0

@ Crazypete3:歡迎使用stackoverflow。不要忘記給出你喜歡的答案,並將其標記爲「正確」的答案,即最能幫助你的答案。 – steffen

+0

我如何給答案的答案並標記正確? – Crazypete3

+0

請添加正確的代碼示例。 –

相關問題