Мне удалось написать некоторый код, который может читать из файла .txt, однако я хочу, чтобы моя программа считывала только важные данные.
Например, если мой текстовый файл имел следующие данные:
Name= Samuel
Favourite colour= Green
Age= 24
Gender= Male
Я хочу, чтобы моя программа просто читала и игнорировала все до «=»
Samuel
Green
24
Male
Я посмотрел в .substr()
метод, однако, вам нужно знать точное положение =
знак.
Это мой код, и он не работает
while ( getline (open_file,line) ){
for (int i=0; i<line.length(); i++){
if (line == "="){
cout << " " + (rest of the line;
}
Я был бы очень признателен, если бы кто-нибудь смог мне помочь.
Наиболее эффективный способ чтения в файлах данных — это одновременное чтение строки в строковую переменную. Затем извлеките важные части.
Ваш файл данных выглядит так, как будто он имеет формат:
<name> = <value>
Я предлагаю вам извлечь оба название а также значение в виде строк (например, подстрок) вы можете передавать исходные данные в их первоначальном виде другим функциям. Пусть другие функции беспокоятся о преобразовании в целые числа или другие типы данных.
название поле можно найти, выполнив поиск «=» и запомнив положение «=». Затем используйте метод подстроки и извлеките начало строки в позицию перед ‘=’.
Значение — это подстрока, которая начинается после позиции ‘=’ до конца строки.
Я дам вам посмотреть функции std :: string и узнать, как их использовать. Я не хочу давать вам код, потому что вы не будете учиться так много (например, как искать функции).
Смотрите также std::getline
,