Ich habe ein Problem beim Lesen von Textdateien aus meinem Verzeichnis.C++ Kann TXT-Datei nicht lesen mit ifstream Segmentierung Fehler Fehler
Hier ist mein Teil des Codebeispiels. (Wenn Sie möchten, kann ich ganz Code laden)
ifstream file;
// Get Total Number of Lines from a sample text file
file.open(globLabel0.gl_pathv[0]);
for (int i = 0; getline(file, line); ++i)
columnSize++;
if(file.is_open())
file.close();
float trainingData[trainingDataRowSize][columnSize];
float testData[testDataRowSize][columnSize];
// Define Counters for Loading Samples
int columnCount=0;
int rowCount=0;
int histVal=0;
// Load Label0 Samples to Training Data
for(unsigned int i=0;i<globLabel0.gl_pathc;i++){
file.open(globLabel0.gl_pathv[i]);
while(file >> histVal){
trainingData[i][columnCount]=(histVal);
columnCount++;
}
file.close();
rowCount=i;
columnCount=0;
}
Lassen Sie mich Ihnen Code Schritt für Schritt sagen:
1. Ich initialisieren mein ifstream Objekt.
ifstream file;
2. Platz: ich alle meine Textdateien in globLabel0 Objekt gespeichert und globLabel0 wird wie folgt initialisiert:
glob_t globLabel0;
Dann speichere ich alle Textdateien im Verzeichnis wie folgt:
glob(trainLabel0.c_str(),GLOB_TILDE,NULL,&globLabel0);
Ich weiß definitiv, dass globLabel0 5923 Textdateien hat, die ich beim Debuggen gesehen habe.
Dann habe ich versuchte erste Textdatei zu öffnen, wie
file.open(globLabel0.gl_pathv[0]);
3. folgen: Column Nach der Feststellung. Ich habe mein Dateiobjekt geschlossen.
file.close();
4.: Hier ist mein Problem, wenn ich versuche, Datei für Schleife innen zu öffnen
for(unsigned int i=0;i<globLabel0.gl_pathc;i++){
file.open(globLabel0.gl_pathv[i]); // Problem Here
Ich habe folgende Fehlermeldung:
Wenn möglich, könnten Sie Bitte sag mir wo ich Fehler gemacht habe?
Sieht aus, als hättest du nicht so viele Mitglieder von 'globLabel0.gl_pathv', wie du denkst. –
Nein, lade nicht den ganzen Code hoch. Laden Sie [mcve] hoch. –
@ JonathanMee "Sie haben nicht so viele Mitglieder von globLabel0.gl_pathv" Wenn Sie meinen, ob mein globLabel0 Objekt leer ist, habe ich 5923 Textdateien. Hier können Sie von Link sehen: https://www.mediafire.com/?d883fgma1r4xp8x –