2013-02-11 2 views
-2

내 텍스트 파일과 같은 정수를 포함 123 879709789 43536 8768768공백으로 구분하여 임의의 크기의 정수를 포함하는 텍스트 파일을 읽어

내가 배열과 같은 하나의 배열 인덱스의 전체 수를 읽고 싶은 [1] = 123 배열 [2] = 879,709,789 .

는 여기에 내가 무엇을 시도했다입니다 : 이것처럼

ifstream myfile("numbers.txt"); 

if (myfile.is_open()) 
{ 
    while (myfile.good() && !myfile.eof()) 
    { 
     for(i=1; i<myfile.eof(); i++) 
     { 
      myfile >> ar[i]; 
      if(ar[i]=="") 
      { 
       i++; 
      } 
     } 
    } 
} 
+0

시도한 내용을 표시 하시겠습니까? – ogzd

+0

직접 해보았습니까? 귀하의 질문에 지금부터, 우리는 어떻게 든 당신 자신의 그것을 해결하기 위해 당신의 노력을 볼 수 없습니다. – LihO

+0

ifstream myfile ("numbers.txt"); { if (myfile.is_open()) [나는]; if (ar [] == "") { i ++; } –

답변

3

:

#include <vector> 
#include <fstream> 
#include <iterator> 


std::ifstream infile("myfile.txt"); // or just use `std::cin` 

std::vector<int> v(std::istream_iterator<int> { infile }, 
        std::istream_iterator<int> { }); 

지금 v의 모든 숫자가 포함되어 있습니다. 길을 따라 어디에서나 입력 오류가 발생하면 입력 오류가 표시되고 입력이 중지됩니다. 그것이 문제 인 경우 getline/ istringstream 접근 방식을 사용하십시오.이 사이트에서 이와 유사한 질문이 수 백개 발견되었습니다.

+0

는 '예상'또는 '...'이전 '{'코드 INT 주에 ERROR GOT 토큰 (INT의 ARGC를 숯불 *는 argv []) { 표준 : ifstream INFILE에 ("numbers.txt"); // std :: istream_iterator {infile}, std :: istream_iterator {}); // std :: istream_iterator {infile}, std :: istream_iterator (infile.giter()) { std :: vector } –

+1

user2062703 @ 그것은 당신이 둥근 사람에 의해 중괄호를 대체 할 수있는 경우에 C++ 11 지원을하지 않아도 될 수 있습니다. – juanchopanza

+0

@ user2062703 : http://ideone.com/CpnP9N을 참조하십시오. – LihO

관련 문제