читать строки в текстовом файле в cpp - PullRequest
0 голосов
/ 30 сентября 2019

предположим, что я сделал .txt файл и поставил строку типа

123+abc
456+def

, тогда как я могу прочитать 456 после 123 в случае, если 123 не то число, которое я хочу

я попробовал getline () но я не знаю, как прочитать 123 и перейти к следующей строке, когда я пытался, это не работает

#include <iostream>
#include <string>
#include <fstream> 

int main(){
int check=0;
ifstream myfile;
myfile.open("texttext.txt");
string tmp_string;
int tmp_int;

while(!myfile.eof){
  tmp_string=getline(myfile);
  getchar(tmp_int,tmp_string);
  if(tmp_int==the_number) {
    check=1;
    cout<<"found it"<<endl;
    break;
  }
}
myfile.close():
if(check==0) cout<<"non match"<<endl;
return 0;
}

1 Ответ

0 голосов
/ 30 сентября 2019

Предполагая, что формат файла \ d {3}. * Для каждой строки, тогда подойдет следующий код.

int main() {
    bool check = false;
    std::ifstream myfile;
    myfile.open("texttext.txt");
    std::string tmp_string;
    int tmp_int;
    int the_number = 456;

    while (getline(myfile, tmp_string)) {
        tmp_int = stoi(tmp_string.substr(0, 3));
        if (tmp_int == the_number) {
            check = true;
            std::cout << "found it" << std::endl;
            break;
        }
    }
    myfile.close();
    if (!check) std::cout << "non match" << std::endl;
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...