vs2017,vs2019,无法解析的外部符号 sscanf,无法解析的外部符号 _snprintf,无法解析的外部符号 _vsnprintf,无法解析的外部符号 __iob_func

4 篇文章 0 订阅
3 篇文章 0 订阅

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2019    无法解析的外部符号 sscanf,该符号在函数 ms_mdtimestr2nstime 中被引用    SOLOSWDCC    E:\app soloswdcc\apps\soloswdcc\libmseed.lib(genutils.obj)    1    

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2019    无法解析的外部符号 _snprintf,该符号在函数 ms_nstime2timestr 中被引用    SOLOSWDCC    E:\app soloswdcc\apps\soloswdcc\libmseed.lib(genutils.obj)    1    

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2019    无法解析的外部符号 _vsnprintf,该符号在函数 ms_log_main 中被引用    SOLOSWDCC    E:\app soloswdcc\apps\soloswdcc\libmseed.lib(logging.obj)    1    

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2019    无法解析的外部符号 __iob_func,该符号在函数 ms_log_main 中被引用    SOLOSWDCC    E:\app soloswdcc\apps\soloswdcc\libmseed.lib(logging.obj)    1    

原因:

vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。

解决方案:

#pragma comment(lib, "legacy_stdio_definitions.lib")
extern "C" { FILE __iob_func[3] = { *stdin,*stdout,*stderr }; }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
scanf函数是C语言中用于从标准输入中读取格式化数据的函数之一。然而,scanf函数在使用时可能会出现解析错误的情况。你提到了一些解决方法,包括吸掉回车符、使用scanf("%s")和scanf("%c")来获取字符以及使用fflush(stdin)清空数据缓冲区等方法。 解析错误的原因可能是由于输入格式与读取格式不匹配导致的。例如,当使用%c来读取字符时,它会读取并包括回车符在内的所有字符,这可能导致意外的结果。 为了避免解析错误,可以考虑使用其他更可靠的方式来读取输入数据,比如使用fgets函数读取一字符并进进一步处理,或者使用sscanf函数从字符串中解析数据。此外,你还可以通过检查scanf函数的返回值来确定是否成功读取了正确的数据,进而进错误处理。 综上所述,解析scanf函数时发生错误的原因可能是由于输入格式与读取格式不匹配。为了避免这种情况,可以选择使用其他更可靠的输入方法,并根据返回值进错误处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [scanf 异常分析 和 解决办法](https://blog.csdn.net/RunningBeef/article/details/106205088)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值