Ich hab folgendes Problem.
ich möchte aus einer txt-datei 3 stücke auslesen und das sieht ungefähr so aus:
aufzählung|bildpfad|antwort zu bild (sind insgesammt ca 50 zeilen)
das problem dass sich mir jetzt stellt ist, dass ich das nicht hinbekomme die arrays zu befüllen.
array[0][1] mit der aufzählung
array[1][1] mit dem bildpfad
array[2][1] mit der antwort
usw...
was ich mit dem array bezwecken will ist, dass das programm nicht immer auf die txt zugreift. bei einer anderen lösung wär ich auch sehr dankbar.
DANKE
ich möchte aus einer txt-datei 3 stücke auslesen und das sieht ungefähr so aus:
aufzählung|bildpfad|antwort zu bild (sind insgesammt ca 50 zeilen)
das problem dass sich mir jetzt stellt ist, dass ich das nicht hinbekomme die arrays zu befüllen.
array[0][1] mit der aufzählung
array[1][1] mit dem bildpfad
array[2][1] mit der antwort
usw...
Code:
#include <Windows.h>
#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
using namespace std;
bool seperate(char* string, char* word, int& wordOffset);
int main(){
const int buffersize = 255;
char buffer[buffersize+1];
char word[buffersize+1];
int wordOffset = 0;
char buffer_array[3][5];
ifstream in("test.txt");
if(!in) {
cout << "Cannot open input file.\n";
return 1;
}
in.getline(buffer,buffersize);
while(seperate(buffer,word,wordOffset))
{
cout << "Dieses Wort ausgelesen: " << word << endl;
cout << sizeof(word)<<endl;
cout << strlen(word)<<endl;
}
Sleep (20000);
return 0;
}
bool seperate(char* string, char* word, int& wordOffset)
{
if (!string[wordOffset])
return false;
char *p1, *p2;
p1 = p2 = string+wordOffset;
for (int i = 0; i<(int)strlen(p1) && !isalnum(p1[0]); i++)
p1++;
if (!isalnum(p1[0]))
return false;
p2 = p1;
while (isalnum(p2[0]))
p2++;
int len = int (p2 - p1);
strncpy (word,p1,len);
word[len]='\0';
for (int i = int(p2-string); i<(int)strlen
(string) && !isalnum(p2[0]); i++)
p2++;
wordOffset = int(p2-string);
return true;
}
was ich mit dem array bezwecken will ist, dass das programm nicht immer auf die txt zugreift. bei einer anderen lösung wär ich auch sehr dankbar.
DANKE