这个坑的根本原因是,mac文件是用‘\r’来代表换行符的,没有‘\n’,所以fgets并不会在mac文件中看起来像是换行的地方停下,而是一读到底直到碰到EOF。
所以,当我尝试使用重定向去跑字符串题的时候就悲剧了。明明可以AC的代码,本地跑居然报“Segmentation fault:11”错误(其实也是因为程序不够鲁棒,导致递归爆栈)
本文探讨了在Mac系统中使用fgets函数处理文件时遇到的问题,由于Mac文件使用‘
’作为换行符而非‘
’,导致fgets无法正确识别换行,进而引发程序错误。
这个坑的根本原因是,mac文件是用‘\r’来代表换行符的,没有‘\n’,所以fgets并不会在mac文件中看起来像是换行的地方停下,而是一读到底直到碰到EOF。
所以,当我尝试使用重定向去跑字符串题的时候就悲剧了。明明可以AC的代码,本地跑居然报“Segmentation fault:11”错误(其实也是因为程序不够鲁棒,导致递归爆栈)

被折叠的 条评论
为什么被折叠?