對於我的項目的一小部分,我應該使用cin從文本文件中提取數據,根據命令行參數我的程序將知道從哪裏讀取數據。我的問題是如何提取四個數據並忽略逗號。例如,.txt文件將如下所示從文本文件讀取數據並忽略其他
(1,2,3,.)
(2,1,3,#)
(3,1,0,.)
在這種情況下,我需要提取1,2,3和。爲第一行。然後移到第二行。當達到空白換行符時,我可以通過while循環退出getline()方案。
我知道我需要使用getline(),並且我可以通過使用由getline()生成的字符串的.at()函數來提取數據。然而,當一個座標如1,2或3可能是兩位數時,我變得很困惑。當發生這種情況時,我以前的算法不起作用,所以我覺得我正在推翻事情,應該有一種更簡單的方法來解析這些數據。
謝謝!
所以對於sscanf我需要s是正確的cstring?我現在很難做getline調用,即時消息不使用字符串 –
@JoshHamet是的。 'char str [size]; cin.getline(str,size);' –
聽起來像是一個家庭作業練習,所以sscanf()可能會被壓制(不是沒有理由,因爲它是不安全類型的本質 - 因爲它已經錯過了接受最終的參數%c令牌)。 –