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

目录

  • 发现错误
    • 题目
    • 报错的代码
  • 第一次挣扎(不改变strcpy)
    • 避免编辑器强制要求(行不通)
    • 新的风暴(决定放弃strcpy)
  • 第二次挣扎(使用strcpy_s)
    • 风暴又一次来临(提示越界)
    • 风暴叒一次来临(正确的道路)
    • 风暴叕一次来临(收尾工作)

发现错误

软件:Visual Studio 2017

题目

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

报错的代码

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

第一次挣扎(不改变strcpy)

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

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

新的风暴(决定放弃strcpy)


第二次挣扎(使用strcpy_s)

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



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



真好,无论是将20改为100,23还是50都是错的,表面笑嘻嘻,心里哭唧唧。不过,失败是成功之母嘛,决定找strcpy_s示例看看的我又打开了搜索网站

风暴叒一次来临(正确的道路)

感谢strcpy_s函数,我找到了一种新的分配存储空间的方式

#include <iostream>
#include <cstring>
using namespace std;void swap(char *p1, char *p2) {char *p = new char[21];strcpy_s(p, strlen(p) + 1, p1);strcpy_s(p1,strlen(p1)+1,p2);strcpy_s(p2, strlen(p2) + 1, p);
}int main() {char str1[20],str2[20],str3[20];cout << "请输入三个字符串:" << endl;gets_s(str1);gets_s(str2);gets_s(str3);if (strcmp(str1, str2) > 0) {swap(str1, str2);}if (strcmp(str1, str3) > 0) {swap(str1, str3);}if (strcmp(str2, str3) > 0) {swap(str2, str3);}cout<< "交换后的顺序为:" << endl;cout << str1 << endl << str2 << endl << str3 << endl;return 0;
}

这下总不能再有问题了趴><

风暴叕一次来临(收尾工作)

我是万万没想到C++会偷袭我这个18岁的小姑凉
特喵地叕有新的问题(文章写于问题解决之后,实在不想重新安装一次VS2017截报错图了,问题描述如下)
在编译的过程中出现了一个对话框提示程序已经出现一个断点,然后跳转界面提示未加载 wntdll.pdb
参考vs编译出现未加载 wntdll.pdb

step1:点击调试中的选项

step2:右侧找到符号再在Microsoft符号服务器前点击打勾

等比较长的一段时间(我等了近二十分钟)之后就可以啦~

虽然还是会触发断点

但是能够运行出结果

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

  1. ACMNO.36输入三个整数,按由小到大的顺序输出。

    题目描述 输入三个整数,按由小到大的顺序输出. 输入 三个整数 输出 由小到大输出成一行,每个数字后面跟一个空格 样例输入 2 3 1 样例输出 1 2 3 来源/分类 C语言 题目截图: 思路: 借 ...

  2. [YTU]_1064 (输入三个字符串,按由小到大的顺序输出)

    Description 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. Input 3行字符串 Output 按照从小到大输出成3行.由指针方 ...

  3. 输入三个字符串,按照由小到大的顺序输出(指针方法处理)——C语言

    1 概述 输入三个字符串,按照由小到大的顺序输出(指针方法处理) 2 解法 //C程序设计第五版(谭浩强) //章节:第八章 善于利用指针 // 所有练习均要求用指针方法处理 //练习8.2 输入三个 ...

  4. 习题 8.2 输入3个字符串,按由小到大的顺序输出。(指针法)

    C程序设计(第四版) 谭浩强 习题8.2 个人设计 习题 8.2 输入3个字符串,按由小到大的顺序输出.(指针法) 代码块: 方法1: #include <stdio.h> #includ ...

  5. 输入三个字符串,按由小到大的 顺序输出,用指针来实现

    //输入三个字符串,按由小到大的 顺序输出,用指针来实现 #include<stdio.h> #include<string.h> #include<stdlib.h&g ...

  6. 本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

    本题要求编写程序,读入5个字符串,按由小到大的顺序输出. 输入格式: 输入为由空格分隔的5个非空字符串,每个字符串不包括空格.制表符.换行符等空白字符,长度小于80. 输出格式: 按照以下格式输出排序 ...

  7. 输入3个数a,b,c,要求按由小到大的顺序输出

    输入3个数a,b,c,要求按由小到大的顺序输出 #include <stdio.h> int main(){printf("请输入三个整数:");int t,a, b, ...

  8. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个...

    2019独角兽企业重金招聘Python工程师标准>>> 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如"我ABC ...

  9. [YTU]_1063 (输入三个整数,按由小到大的顺序输出)

    Description 输入三个整数,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. Input 三个整数 Output 由小到大输出成一行,每个数字后面跟一 ...

最新文章

  1. 多播程序设计(基于UDP协议)
  2. 粒子群PSO优化算法学习笔记 及其python实现(附讲解如何使用python语言sko.PSO工具包)
  3. 确定最小的正整数n,使得n!的结尾恰好有1987个0
  4. struts2的action从request获取参数值的几种方式
  5. Legacy(线段树优化建边跑Dijkstra)
  6. emlog过滤html,Emlog 搜索优化 标题 + 全文搜索
  7. el-select change事件传多个参数_第8天 | 14天搞定Vue3.0,事件处理(详细)
  8. 三十五岁后,就不能做软件测试了?
  9. [spring] 源码简析 如何解决循环依赖?
  10. 网络调试助手(NetAssist)java socket通讯代码
  11. 树莓派做服务器装什么系统安装,树莓派 安装 群晖系统安装教程
  12. 大一计算机学实验报告,大学大学计算机实验报告
  13. TCP/IP重传超时--RTO - SRTT (Smoothed Round Trip Time)
  14. 【爬虫】如何通过爬虫,爬取百度图片?新手小白一看便会,内附超详细代码讲解
  15. python列表输出序号_Python中打印列表的序号和内容
  16. APP测试点分析与总结
  17. android10系统是平板电脑吗,买平板电脑应该选win10还是安卓系统?
  18. IT行业里的热门技术和项目分享
  19. ARM+Linux日常开发笔记
  20. 《炬丰科技-半导体工艺》 半导体晶圆清洗站多化学品供应系统的讨论

热门文章

  1. SeaweedFS部署及使用指南
  2. 如何css设置div页面100%高度, body页面全高
  3. SOLIDWORKS草图编辑——草绘圆命令
  4. Fences4 桌面整理好帮手 让你的桌面整洁美观
  5. Mysql某个字段内容替换(字符串中的一部分内容替换) sql
  6. 开源-销售合同管理系统
  7. Numerical analysis 数值分析编程问题 Matlab 实现--二分法计算希尔伯特矩阵问题
  8. android 按钮修改边框颜色代码,Android CheckBox修改大小、边框颜色,以及自定义CheckBox;...
  9. 大数据学习系列:Hadoop3.0苦命学习(一)
  10. Myeclipse10安装以及破解方法