2016-09-07 3 views
-1

私は、ファイルからの問題では変数だけを読みたいが、例えば私がcontacts.txtを持って、それは次のように述べている:ファイルからいくつかの単語や数字を読み込むには?

 
Name Penelope Pasaft 
Cel 1535363236 

と私はのための特定の変数にメモリに読み取りまたは保存するだけのものたとえば、変数namecelが実際に重要なデータです。

この場合、を変数名に、変数celに指定した特定の番号に保存します。

Cでは、私はscanf("Name %s",name)のようなものを使用していましたが、C++では、そのようなことがあるかどうか、私は分かりません!

+2

ようこそオーバーフローをスタックする:-)何を試しましたか? [ask]を見て、[mcve]を作成する方法 – JimHawkins

答えて

0

私たちはあなたの次のようcontacts.txtがある考えてみましょう:

 
Name Penelope Pasaft 
Cel 1535363236 
Name David Beckam 
Cel 6354562234 

その後、次のコードは出力を生成します:次のように

#include <iostream> 
#include <stdio.h> 
#include <string> 
#include <fstream> 
#include <cstdlib> 


using namespace std; 

int main() { 
ifstream readFromFile("contacts.txt"); 

string name; 
string Cel; 
string line; 
int count = 0; 
if (readFromFile.is_open()) { 
    while(!readFromFile.eof()) { 
    (count==2)?count=0:count=count; 
     getline(readFromFile, line, ' '); 
      if(line == "Name") { 
      getline(readFromFile, name, '\n'); 
      ++ count; 
      } else if(line == "Cel") { 
       getline(readFromFile, Cel, '\n'); 
      count ++; 
      } 

    if(count==2) { 
     cout<<"Name: "<<name<<endl; 
     cout<<"Cel: "<<Cel<<endl; 
     } 
    } 
} 

return 0; 
} 

出力は次のようになります。

 
$ g++ test.cpp 
$ ./a.out 
Name: Penelope Pasaft 
Cel: 1535363236 
Name: David Beckam 
Cel: 6354562234 
+0

が動作しない – Arya

+0

@Arya - コード全体で述べたように試してください。動作している場合は答えを受け入れてください。 –

+0

'eof()'を使ってループしないでください:https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong – Galik

関連する問題