VS2013不能读取txt文件的问题【已解决】

    技术2022-07-10  129

    今天是2020年6月30日,记一次莫名其妙的程序BUG。

    最近闲来无事在复写我之前做过的一个小项目,有一个功能是读取文件并把内容打印在控制台上。但是一直出错,让我很摸不着头脑,查阅了很多资料后发现代码是没有任何问题的,因为我写同样的代码在DEV-C上完全没有问题,但到了VS2013上就一直无法打印出内容。

    错误内容

    最后究其原因应该是无法读取文件,所以无法打印出内容。而且在不调试的模式下程序不会报错,可以正常运行,但无法正常打开文件。在调试模式下,程序会异常中断。

    错误信息

    之前一直没有关注过VS最下方的日志,但问题就出现在这。

    1>------ 已启动生成:  项目: code, 配置: Debug Win32 ------ 1>  battle.cpp 1>d:\我的\XXXXXXX\code\code\battle.cpp(49): warning C4715: “TheWordOfdodging”: 不是所有的控件路径都返回值1>  LINK : 没有找到 D:\我的\XXXXXXX\code\Debug\code.exe 或上一个增量链接没有生成它;正在执行完全链接1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library 1>  code.vcxproj -> D:\我的\XXXXXXX\code\Debug\code.exe ========== 生成:  成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

    最开始只看到编译成功了,就没多想,但我高亮的这两行给出了两个链接时的警告,就是因为这两个警告导致程序无法正常读取文件。

    #pragma comment(lib, "msvcrt.lib")

    上面这行就是出问题的罪魁祸首,当时是为了解决另一个问题而加上去的,但是好像没用到,忘了删了,谁知道最后给我搞出这么个幺蛾子。

    解决方法

    当然是删了这行代码-_-!!!

    之后的日志就是这个样子的

    1>------ 已启动生成:  项目: code, 配置: Debug Win32 ------ 1>  battle.cpp 1>d:\我的\XXXXXXX\code\code\battle.cpp(49): warning C4715: “TheWordOfdodging”: 不是所有的控件路径都返回值 1>  code.vcxproj -> D:\我的\XXXXXXX\code\Debug\code.exe ========== 生成:  成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

    没有了链接时的警告,问题解决了,又可以愉快地读取文件了。

    最后,菜鸡如我虽然解决了问题,但并不知道这是为啥,如果有大佬看到了,还望不吝指教。

    Processed: 0.009, SQL: 9