Hi,
I wrote this Programm it reads out something from a file something like:
1 2 G O B Y
11 3 O B B Y
from a .txt file called anfangsanordnun g.txt.
However this is the programm:
It actually says finished and then reports about a:
*** stack smashing detected ***: ./out terminated
Am I getting getline() or .eof() wrong these are the only two lines new to me ??
Thanks
I wrote this Programm it reads out something from a file something like:
1 2 G O B Y
11 3 O B B Y
from a .txt file called anfangsanordnun g.txt.
However this is the programm:
Code:
int main()
{
fstream f;
char cstring[256];
char color[6];
int x=0,y=0,var=0,var2=0;
int zahl;
f.open("anfangsanordnung.txt", ios::in);
if (!f.eof()){f.getline(cstring, sizeof(cstring));}
while (!f.eof())
{
i=0;
x=0;
y=0;
var=0;
var2=0;
while (cstring[i]==' '){i++;}
while (cstring[i]!=' ')
{
zahl = cstring[i] - '0';
x=x*10+zahl;
i++;
}
i++;
i++;
while (cstring[i]!=' ')
{
zahl = cstring[i] - '0';
y=y*10+zahl;
i++;
}
i++;
while (var2<4)
{
while (cstring[i]!=' ')
{
color[var]=cstring[i];
var++;
i++;
}
i++;
if (color[0]=='B'){steine[x-1][y-1][var2]=0;var2++;}
if (color[0]=='G'){steine[x-1][y-1][var2]=1;var2++;}
if (color[0]=='O'){steine[x-1][y-1][var2]=2;var2++;}
if (color[0]=='Y'){steine[x-1][y-1][var2]=3;var2++;}
var=0;
}
f.getline(cstring, sizeof(cstring));
}
f.close();
cout << "finsihed" << endl;
}
*** stack smashing detected ***: ./out terminated
Am I getting getline() or .eof() wrong these are the only two lines new to me ??
Thanks
Comment