[英]Reading text file from Stdin
我試圖看看從文本文件中讀取信息的最簡單方法是什么:
7
12
v1-v2 7
v1-v3 11
v1-v4 1
v2-v4 12
v2-v5 5
v3-v4 8
v3-v6 10
v4-v5 6
v4-v6 3
v4-v7 4
v5-v7 9
v6-v7 2
通常這應該非常簡單,但我需要考慮前2行,其中包含2個不同的數字。
到目前為止我已經建立:
int nodes;
int lines;
string line;
int count=0;
while(cin) {
getline(cin, line);
for(int i = 0; i < line.length(); i++) {
if(count >2)
break;
if(! (s[i] >= '0' && s[i] <= '9')
break;
else if(count=0) {
nodes = s[i]-'0';
}
else
lines = s[i]-'0';
count++;
}
//Space for code to account for other lines
}
所以這是獲得前兩個數字的方法,但我相信應該有一個更簡單的方法來做到這一點。 任何建議或有人可以指出我正確的方向
你為什么不在循環之前讀入這兩個數字:
cin >> nodes >> lines;
如果輸入中沒有任何內容,則變量將設置為0。
如果您需要以更好的方式處理此問題,您可以執行與此類似的操作:
if (cin) cin >> nodes;
else { /* handle error situation */ }
if (cin) cin >> lines;
else { /* handle error situation */ }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.