C语言 -- 在使用fgets函数的时候如果读取了中文字会继续读取下一行的资料
在写程序的时候发面,如果在txt档案里存在中文字符的话fegts函数会自己读取了下一行的字
这是代码部分
FILE *fp;
int i = -1;
char chessBoard[24][50];
char temp[50];
char pao[5] = "炮.";
fp = fopen("ChessBoard\\basic1.txt", "r");
while (i < 24)
{
i++;
fgets(chessBoard[i], 52, fp);
}
这不是读取了下一行,这是汉字所在行没有终止符'\0',而二维数组本质是一维的,所以输出汉字所在行时把下一行也输出了。
应该是因为每行的宽度不够,把chessboard[24][50]改成chessboard[24][54]应该就可以了。