项目场景:

在c++的学习和使用中,常常用到数组、指针等,本人在解决将字符串输入转化为数组时遇到的报错:引发了异常: 读取访问权限冲突。

在这里插入图片描述

问题来源

在这里插入图片描述

报错的本质为内存访问问题:
表现有:

  • 数组越界
  • 对于分配到的空间,未进行预处理
  • 空指针,指针越界(本文正是这个问题)

解决方式:
- 检查是否越界
- 对于申请到的空间,是否给了默认值
- 指针是否越界

原因分析:

本人使用cin.getline()函数来实现对输出字符串的存储,但是cin.getline()函数是通过换行符来确定行尾,但是不保存换行符

解决方案:

在字符串后再手动添加个换行符,或不用换行符判断结尾。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐