X 1 0 1
1 X X 1
1 0 1 0
1 1 0 X
0 X 1 1
1 X 1 0
这是我的代码..第1版。
char cha2[1];
int patternStored[180];
for(a=0;a
{
fscanf(patternMatFile,"%1s",cha2);
if(cha2[0]=='X')
{
patternStored[a]=2;
}
else
{
patternStored[a]=atoi(cha2);
}
}
代码的目的是为了在一次读取一个字符,并将其保存到数组 上面的代码工作正常,但..
在循环结束时,我有此错误
Run-Time Check Failure #2 - Stack around the variable 'cha2' was corrupted.
这是第二个版本。
char cha[4];
int patternStored[180];
for(a=0;a
{
fscanf(patternMatFile,"%c",cha);
if(cha[0]=='X')
{
patternStored[a]=2;
}
else
{
patternStored[a]=atoi(cha);
}
}
第二个版本没有错误。但它仅与%d ..只有数字工程..
我居然不知道正确的方式来获得文件使用fscanf,尤其是%事单个字符。
TKZ ..
2011-10-15
william
+1
从文件读取时,'fscanf'几乎从来不是答案。 'fgets' /'sscanf'几乎总是更好,通常有比这更好的方法。 –