我试图将文件读入字符数组,但每当我增加计数器(对于数组元素)时,我的数组元素似乎会改变值。 在下面的代码中,我在计数器递增之前和计数器递增之后打印出数组值(以找出问题)。
我不知道如何解决这个问题(代码在C中)......
char fileContents[rowNum * colNum];
rewind(file);
int count = 0;
while((ch = fgetc(file)) != EOF){
if(ch != '\n'){
fileContents[count] = ch;
printf("%c ", fileContents[count]);
count++;
printf("%c %d\n", fileContents[count - 1], count - 1);
}
}
这些是文件内容"
XXXX XXXX
XX XXX XX
X X X X X
XX XX XXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
答案 0 :(得分:-3)
尝试
char fileContents[rowNum * colNum];
rewind(file);
int count = 0;
while((ch = fgetc(file)) != EOF){
if(ch != '\n'){
fileContents[count] = ch;
printf("%c ", fileContents[count]);
printf("%c %d\n", fileContents[count - 1], count);
count++;
}
}
我在printf之后添加了count++
语句,因为您可能会增加count
和count = fileContents.size()
;这意味着fileContents[count]
超出范围