저는 C++을 처음 사용하고 숫자가있는 파일에서 행을 읽으려고 시도하고 문자열 배열로 행을 토큰 화하고 변환합니다. 이러한 배열 항목을 배정 밀도 숫자로 변환합니다. 하지만 토큰 화 과정에서이 오류가 발생합니다. ''변수 'std :: stringstream mystream'에는 초기화 도구가 있지만 불완전한 유형이 있습니다. 나는 다른 사람들의 제안을 보았고 나는 부스트를 사용하지 않고 그것을하고 싶다. 나머지 코드는 거의 마치 나의 것처럼 보인다. 그러나 나는 어떤 이유로 그 오류를 얻는다. 여기에 코드가 있습니다.C++ 토큰 화기 ''variable '에 오류가 있습니다. std :: stringstream mystream에 초기화가 있지만 불완전한 형식이 있습니다.' '
#include <stdio.h>
#include <string.h>
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
vector<string> tokens;
string phrase="sdfs sdfs trt we rw";
stringstream mystream (phrase);
string temp;
while(getline(mystream,temp,' ')){
tokens.push_back(temp);
}
}
이 문제에 대한 의견을 얻는 것이 좋습니다. 미리 감사드립니다.
['std :: stringstream'] (http://en.cppreference.com/w/cpp/io/basic_stringstream)에 대한 올바른 헤더를 포함하지 마십시오. –
문자열 스트림에서만 읽는 경우 관련이없는 메모에서 –
대신 ['std :: istringstream'] (http://en.cppreference.com/w/cpp/io/basic_istringstream)을 사용하십시오. 마지막으로, 루프가 필요 없습니다. 필요한 것은 ['std :: istream_iterator'] (http://en.cppreference.com/w/cpp/iterator/istream_iterator)와 ['std :: vector' 생성자] (http : // en.cppreference.com/w/cpp/container/vector/vector). 반복자 쌍을 취하는 벡터 생성자에 주목하십시오. –