簡體   English   中英

從Stdin讀取文本文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM