사용할 수 있습니다. 벡터는 배열 대신 사용할 수있는 데이터 구조입니다. 자세한 내용은 [http://www.cplusplus.com/reference/vector/vector/]에서 확인할 수 있습니다.
vector<int> column1,vector<int> column2;
if(!loadMatrixFromFile(inputFile,column1,column2))
{
cerr << "Uh oh, failed in loading matrix form file" << endl;
exit(1);
}
그리고 아래와 같이 함수를 만들 :
를 을 복잡하게하지 않고 많은 두 벡터가 cloumn1 및 2 열은 기본 기능에 (당신이 무한한 크기의 배열로 생각할 수 있습니다) 아래로 loadMatrixFromFile 전화를 선언 할 수
bool loadMatrixFromFile(ifstream & inputFile,vector<int> & col1,vector<int> & col2)
{
while (inputFile)
{
string line;
getline(inputFile,line);
int n;
stringstream tempLine(line);
for (int i=0;i<2;i++)
{
tempLine>>n;
if (i==0)
col1.push_back(n);
else
col2.push_back(n);
}
}
return true;
}
벡터를 실행 한 후 벡터 column1, column2에는 파일의 열 값이 포함됩니다.
벡터를 사용하는 것이 편한 경우 각 열에 대해 하나의 벡터를 선언하는 대신 배열의 배열과 같이 벡터 벡터를 사용하여 각 열의 벡터를 포함 할 수있는 벡터를 만들 수 있습니다.
2 차원 배열 또는 행렬에서 읽습니다. – bolov
또는'std :: vector' –
왜 배열입니까? 왜 포인터? C++은 더 나은 * stuff (예 :'std :: vector')를 가지고 있습니다. (* : 대부분의 경우에 더 좋으며, 포인터와 배열에도 권리가 있습니다.) – leemes