fscanf无法将数据读入二维数组

自己写了一个五子棋,悔棋功能需要读取文件,但不知道为什么这里的fscanf函数无法将该文件里面的数据读入二维数组,附上文件内容图,求佬解答

img


个人猜测:程序没结束时(但运行过fprintf)我打开文件发现里面没有内容,程序结束后内容才出来(我测试过内容是正确的),会不会和这个有关?

img

写入文件后用 int fflush(FILE *filename);刷新缓存,写到硬盘上。
你这有fopen,没有fclose哈。打开后不用要关闭。

补充一段写入的代码

img

【相关推荐】



  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7780507
  • 这篇博客也不错, 你可以看下C语言中的fscanf读取文本文件一行而不能读取行中数据的解决方法
  • 除此之外, 这篇博客: C语言中fscanf和fprintf函数的使用中的 三、结论: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    1、fprintf和fscanf比printf和scanf多了一个参数(文件指针流),其他使用方式都一样。

    2、printf函数打印数据到标准输出流(stdout)中,而fprintf适用于所有输出流,可以可以将数据写入到自定义的流(stream)中,不仅仅局限于标准输出流(屏幕)。

    3、同样scanf函数从标准输入流(stdin)中读取数据,而fscanf适用于所有输入流,可以将数据从自定义的流(stream)中读取出来,不仅仅局限于标准输入流。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^