c - 读取字符串字符时出错 - Visual Studio 2017

标签 c

我正在尝试使用 strtok 函数,该函数将结果显示为程序目标,但是当我设置断点时,出现错误,读取“字符读取字符串的字符...”,如图所示。请向我解释为什么会出现错误以及如何修复 enter image description here 非常感谢 在这里,我所有的代码

最佳答案

在屏幕截图中,next_token 显然是一个无效的指针;该内存不存在于进程的虚拟内存映射中,因此无法显示数据。

这完全是预期的,并且不是错误 - 断点设置为指针初始化之前。如果让它运行到第20行(下一个断点),它将被分配一个有效值,并且调试器将正常显示数据。

您是否打算在提取的标记中包含空格,或者 s 应该是 "-" 甚至 "\t-"?

调试器中的消息仅仅意味着指针无效;除非您尝试遵循它,否则它不是代码中的错误,而在它有效之前您不会这样做。

关于c - 读取字符串字符时出错 - Visual Studio 2017,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46392100/

相关文章:

c - 在函数中反转字符串并在 main 中打印它

c++ - 如何配置 Eclipse C 项目以接受 C++ 包含

编译器对一段简单的代码显示 "Illegal Instruction"

c++ - 为什么要使用 'extern "C+ +"' ?

c - 重新分配问题

c - C中的double类型和short类型有什么区别?

c++ - 带有现有 C/C++ 项目的 Eclipse CDT

c# - 与 C 和 C++ 相比,为什么 C# 代码需要很长时间才能执行

c - 使用 scanf() 输入多个变量?

c - CPU乱序影响测试程序