如何从文件中只读取几个单词或数字?

时间:2016-09-07 03:08:50

标签: c++

我想从文件中只读取重要的变量,例如我有一个contacts.txt,它的内容如下:

Name Penelope Pasaft
Cel 1535363236

我想要在特定变量的内存中读取或保存的唯一内容,例如变量namecel是真正重要的数据。

在这种情况下,我想将Penelope Pasaft保存到变量名称和赋予变量cel的特定数字。

在C中,我曾经使用类似scanf("Name %s",name)的东西,但在C ++中,我不知道是否有类似的东西或如何做到这一点!

1 个答案:

答案 0 :(得分: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