C++输入3个字符串,按由小到大的顺序输出(用指针方法处理),VS2017strcpy使用与strcpy_s使用

本文记录了一名初学者在VS2017中使用C++处理字符串排序问题的全过程,从尝试strcpy到切换到strcpy_s,解决了越界和断点问题。最终通过调整内存分配和配置符号服务器成功运行程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是想用来记载作为菜菜的初学者的自己解决这个问题的过程><
如果是想康康最终的代码,直接通过目录到达“风暴叒一次来临(正确的道路)就可以啦”~
如果在代码输入之后出现了“未加载 wntdll.pdb”,这个解决方法是在“风暴叕一次来临(正确的道路)”
ps,最终结果也只是能运行出来,但是会提示“twoSortString.exe 已触发了一个断点”

发现错误

软件:Visual Studio 2017

题目

C++程序设计(第3版)谭浩强,第六章习题第2题:输入3个字符串,按由小到大的顺序输出(要求用指针或引用方法处理)

报错的代码

参考C++程序设计题解与上机指导(第3版)谭浩强著
参考C++程序设计题解与上机指导(第3版)谭浩强著
报错信息1

第一次挣扎(不改变strcpy)

避免编辑器强制要求(行不通)

开头添加#define _CRT_SECURE_NO_WARNING
参考C++中strcpy() 函数报错

新的风暴(决定放弃strcpy)

添加#define后依然错误的代码
第二次报错

第二次挣扎(使用strcpy_s)

风暴又一次来临(提示越界)

第一次使用strcp_s
第三次报错信息
参考浅谈 Run-Time Check Failure #2 - Stack around the variable ‘xxx’ was corrupted 的解决方法后意识到是在程序中的某个变量附近的内存被破坏了,这表示程序存在内存越界,通过排查也认识到是p出了问题,作为菜菜的初学者,我自认为机智地修改了p数组的大小
将p数组的大小从20修改为100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值