파일에서 한 줄씩 읽고 C ++에서 많은 int를 벡터로 구문 분석합니다.

Estcc

매우 유사한 사례에 대한 유사한 게시물을 많이 보았지만 내 사례는 약간 다릅니다. 저는 C ++의 초보자이므로 어떤 도움을 주시면 감사하겠습니다.

정수로 가득 찬 줄로 가득 찬 큰 파일이 있습니다. 각 숫자는 공백으로 구분됩니다. 별도의 줄이 필요합니다. 한 번에 모든 파일을 읽고 싶지 않습니다. 한 줄씩 읽고 각 줄을 정수 벡터로 구문 분석하고 싶습니다. 내가 가진 코드는 다음과 같습니다.

int main () {
  string line;
  ifstream myfile;
  myfile.open ("numbers.txt");
  vector<int> vec1;
  int const2=0;
  int a;
  while ( getline (myfile,line) ){ // I understand that this reads line 
                                   // by line and stores the string to "line"
    while (line >> a){  // this part is the one i can't get right, i 
                        // want to push_back every int from
                        // the string to vec1 but doesn't work
      vec1.push_back(a); 
      // More stuff
    }
    // more stuff
  }
  myfile.close();   
  return 0;
}
조나단 H

다음은 C ++ 11 방식 ( -std=c++0xg ++ 또는 clang ++과 함께 사용 )입니다. 모르는 각 기능을 Google에서 검색 할 수 있습니다. back_inserterand를 사용하면 istream_iteratorwhile / for 루프보다 훨씬 깨끗합니다. deque이 컨텍스트에서 사용 하는 것도 더 효율적입니다. 물론 기본 입력에서 파일 이름을 가져올 수도 있습니다.

#include <algorithm>
#include <iterator>
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <deque>

int main()
{
    const std::string filename = "/path/to/file.txt";

    std::string    line_buf;
    std::ifstream  file( filename );

    std::deque< std::deque<int> > parsed_data;
    if (file) while ( std::getline(file,line_buf) )
    {
        std::deque<int>    parsed_line;
        std::stringstream  ss( line_buf );

        std::copy( std::istream_iterator<int>(ss), std::istream_iterator<int>(), std::back_inserter(parsed_line) );

        parsed_data.emplace_back();
        parsed_data.back().swap( parsed_line );
    }
}

콘솔에서 결과를 확인하려면이 기능을 사용할 수 있습니다.

#include <cstdio>
void show_result( const std::deque< std::deque<int> >& data )
{
    size_t line_count = 0;
    for ( auto& line: data )
    {
        printf( "Line %02ld: ", ++line_count );
        for ( auto& num: line )
            printf( "%d ", num );
            printf( "\n" );
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파일에서 한 줄씩 읽고 문자로 문자를 읽는 파이썬

분류에서Dev

전체 텍스트 파일을 구문 분석 / 읽기에서 한 줄씩 구문 분석 / 읽기로 이동

분류에서Dev

C ++에서 텍스트 파일에서 한 번에 한 줄씩 int (잘 문자 및 변환)를 읽는 데 문제가 있습니다.

분류에서Dev

C ++에서 텍스트 파일에서 한 번에 한 줄씩 int (잘 문자 및 변환)를 읽는 데 문제가 있습니다.

분류에서Dev

파일을 한 줄씩 C에서 문자열 배열로 읽기

분류에서Dev

텍스트 파일에서 한 줄씩 변수를 읽고 파이썬으로 분할하는 방법

분류에서Dev

파일에서 한 줄씩 읽고 목록에 저장 C

분류에서Dev

파일에서 한 줄을 읽고 구문 분석하는 방법은 무엇입니까?

분류에서Dev

한 줄씩 파일을 읽고 C에서 strtok () 사용

분류에서Dev

파일 B에서 파일 A의 패턴을 찾고 파일 C의 패턴으로 한 줄씩 바꿉니다.

분류에서Dev

파일 B에서 파일 A의 패턴을 찾고 파일 C의 패턴으로 한 줄씩 바꿉니다.

분류에서Dev

Powershell 5.1은 특정 키에 대한 json을 구문 분석하고 해당 값을 줄로 구분 된 텍스트로 새 .txt 파일에 기록합니다.

분류에서Dev

한 파일에서 한 줄씩 읽고 VBScript를 사용하여 다른 파일에 쓰기

분류에서Dev

내 while 루프의 오류 코드, 파일을 통해 한 줄씩 읽으려고합니다. C에서

분류에서Dev

PowerShell은 텍스트 파일을 한 줄씩 읽고 폴더에서 누락 된 파일을 찾습니다.

분류에서Dev

한 줄씩 파일을 읽고 구문 분석하여 노드 js의 mongo에 삽입하십시오.

분류에서Dev

파이썬에서 한 줄씩 텍스트 파일을 읽고 그래프를위한 좌표로 구조체에 저장

분류에서Dev

파이썬은 텍스트 파일에서 한 줄씩 읽습니다.

분류에서Dev

파일을 한 줄씩 읽고 다른 문자열에 넣습니다.

분류에서Dev

fscanf를 사용하여 C에서 한 줄씩 텍스트 파일 읽기

분류에서Dev

Linux Shell 스크립트는 많은 파일을 한 줄씩 구문 분석

분류에서Dev

텍스트 파일을 읽고 C ++에서 한 줄씩 단어 수 반환

분류에서Dev

'='구분 기호에서 한 줄씩 텍스트 파일 분할 C ++

분류에서Dev

데이터 유형이 다른 파일에서 한 줄씩 데이터 읽기

분류에서Dev

웹 서버 로그 파일에서 데이터를 추출하고 요청 줄 부분을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

커널에서 한 줄씩 구성 파일 읽기

분류에서Dev

C에서 한 줄씩 txt 파일 읽기

분류에서Dev

C에서 한 줄씩 txt 파일 읽기

분류에서Dev

데이터 프레임에서 얻은 명명 된 문자형 벡터를 단일 벡터로 병합하고 고유 한 값을 얻습니다.

Related 관련 기사

  1. 1

    파일에서 한 줄씩 읽고 문자로 문자를 읽는 파이썬

  2. 2

    전체 텍스트 파일을 구문 분석 / 읽기에서 한 줄씩 구문 분석 / 읽기로 이동

  3. 3

    C ++에서 텍스트 파일에서 한 번에 한 줄씩 int (잘 문자 및 변환)를 읽는 데 문제가 있습니다.

  4. 4

    C ++에서 텍스트 파일에서 한 번에 한 줄씩 int (잘 문자 및 변환)를 읽는 데 문제가 있습니다.

  5. 5

    파일을 한 줄씩 C에서 문자열 배열로 읽기

  6. 6

    텍스트 파일에서 한 줄씩 변수를 읽고 파이썬으로 분할하는 방법

  7. 7

    파일에서 한 줄씩 읽고 목록에 저장 C

  8. 8

    파일에서 한 줄을 읽고 구문 분석하는 방법은 무엇입니까?

  9. 9

    한 줄씩 파일을 읽고 C에서 strtok () 사용

  10. 10

    파일 B에서 파일 A의 패턴을 찾고 파일 C의 패턴으로 한 줄씩 바꿉니다.

  11. 11

    파일 B에서 파일 A의 패턴을 찾고 파일 C의 패턴으로 한 줄씩 바꿉니다.

  12. 12

    Powershell 5.1은 특정 키에 대한 json을 구문 분석하고 해당 값을 줄로 구분 된 텍스트로 새 .txt 파일에 기록합니다.

  13. 13

    한 파일에서 한 줄씩 읽고 VBScript를 사용하여 다른 파일에 쓰기

  14. 14

    내 while 루프의 오류 코드, 파일을 통해 한 줄씩 읽으려고합니다. C에서

  15. 15

    PowerShell은 텍스트 파일을 한 줄씩 읽고 폴더에서 누락 된 파일을 찾습니다.

  16. 16

    한 줄씩 파일을 읽고 구문 분석하여 노드 js의 mongo에 삽입하십시오.

  17. 17

    파이썬에서 한 줄씩 텍스트 파일을 읽고 그래프를위한 좌표로 구조체에 저장

  18. 18

    파이썬은 텍스트 파일에서 한 줄씩 읽습니다.

  19. 19

    파일을 한 줄씩 읽고 다른 문자열에 넣습니다.

  20. 20

    fscanf를 사용하여 C에서 한 줄씩 텍스트 파일 읽기

  21. 21

    Linux Shell 스크립트는 많은 파일을 한 줄씩 구문 분석

  22. 22

    텍스트 파일을 읽고 C ++에서 한 줄씩 단어 수 반환

  23. 23

    '='구분 기호에서 한 줄씩 텍스트 파일 분할 C ++

  24. 24

    데이터 유형이 다른 파일에서 한 줄씩 데이터 읽기

  25. 25

    웹 서버 로그 파일에서 데이터를 추출하고 요청 줄 부분을 구문 분석하는 방법은 무엇입니까?

  26. 26

    커널에서 한 줄씩 구성 파일 읽기

  27. 27

    C에서 한 줄씩 txt 파일 읽기

  28. 28

    C에서 한 줄씩 txt 파일 읽기

  29. 29

    데이터 프레임에서 얻은 명명 된 문자형 벡터를 단일 벡터로 병합하고 고유 한 값을 얻습니다.

뜨겁다태그

보관