С++ Чтение файла до пробела

Есть ли способ прочитать данные из файла до пробела? у меня есть файл

John J. Doe

и я хочу прочитать файл и поместить John в 1 переменную, J. в другую переменную и Doe в конечную переменную. Как мне это сделать с помощью ifstream?


person Howdy_McGee    schedule 14.02.2012    source источник


Ответы (2)


Вы можете просто прочитать значения в переменных std::string, это автоматически токенизирует их.

std::string fName, middleInit, lName;
my_stream >> fName >> middleInit >> lName;
person Jesus Ramos    schedule 14.02.2012

Это ваше имя файла или содержимое файла? Я предполагаю, что это содержимое файла.

#include<fstream>
#include<string>
//..........
ifstream fin;
fin.open("your file", ifstream::in);
string var1, var2, var3;
fin>> var 1 >> var2 >> var 3;
person YankeeWhiskey    schedule 14.02.2012
comment
Это работает, если поток file_parse; file_parse.open(имя_файла, ios::in); строка переменная1, переменная2, переменная3; file_parse ›› var1 ›› var2 ›› ​​var3; cout ‹‹ var1 ‹‹ var1 ‹‹ endl; cout ‹‹ var2 ‹‹ var2 ‹‹ endl; Теперь мне нужно иметь var[] в виде массива. Как ? - person Jan Hus; 04.12.2019
comment
внутренний индекс; ifstream file_parse_array; file_parse_array.open(имя_файла, ios::in); #define MAX_ARRAY 256 string var[MAX_ARRAY]; // for (index = 1; index ‹ MAX_ARRAY; index++) { file_parse_array ›› var[index]; // если (var[index].empty()) continue; cout ‹‹ var[индекс] ‹‹ var[индекс] ‹‹ endl; } - person Jan Hus; 04.12.2019