我想从文件中只读取重要的变量,例如我有一个contacts.txt
,它的内容如下:
Name Penelope Pasaft Cel 1535363236
我想要在特定变量的内存中读取或保存的唯一内容,例如变量name
和cel
是真正重要的数据。
在这种情况下,我想将Penelope Pasaft
保存到变量名称和赋予变量cel
的特定数字。
在C中,我曾经使用类似scanf("Name %s",name)
的东西,但在C ++中,我不知道是否有类似的东西或如何做到这一点!
答案 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