2014-02-24 2 views
0

세그먼트 화 오류가 발생하며 그 이유에 대한 단서가 없습니다. 그건 내 CSV에서 아무 문제없이 읽을 수 있지만 그것을 실행하는 중 세그먼트 오류가 발생합니다. Codeblocks의 디버그 기능을 사용해 보았지만 많은 도움이되지 못했습니다. 누군가 내 실수를 지적 할 수 있었 을까?세그먼트 화 오류가 발생하는 CSV 파일 읽기

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

using namespace std; 



void loadCSV(int G[][24]) { 
    ifstream csv; 
    string line; 
    csv.open("matrix.csv"); 
    if (csv.is_open()){ 
     int lineNum = 0; 
     while ((getline (csv,line)) && (lineNum!=24)){ 
      for (int pos = 0;pos<line.length();pos++){ 
       if (line.at(pos) == ','){ 
        continue; 
       } 
       //cout << line.at(pos); 
       if (line.at(pos) == '0'){ 
        G[lineNum][pos] = 0; 
        cout << lineNum << "-" << pos << "\n"; 
       } 

       else{ 
        G[lineNum][pos] = 1; 
        cout << lineNum << "-" << pos << "\n";; 
       } 
      } 
      cout << endl; 
      lineNum++; 
     } 
     cout << lineNum<< endl; 
     csv.close(); 
    } 

    else cout << "Unable to open file"; 

} 



int main(){ 
    int G[24][24]; 
    loadCSV(G); 
    cout << G[0][1]; 

    return 0; 
} 

답변

0

G [lineNum] [pos]에 값을 할당하기 전에 'pos'및 'lineNum'값을 확인하십시오. 그 중 하나라도 24보다 크거나 같으면 과제를 수행하는 것이 유효하지 않습니다.

+0

감사합니다 ..... 나는 방금 2로 나누어 pos에 대한 계정을 알지 못했습니다. – user2079902

관련 문제