'都是错 可是要是唯一的,就是你的pcNewColor = (char *)malloc"og:type" content="webpage">'都是错 可是要是唯一的,就是你的pcNewColor = (char *)malloc" /> '都是错 可是要是唯一的,就是你的pcNewColor = (char *)malloc"> 下面的程序用于把"blue"字符串反回,请指出其中唯一的错误!_软件运维_内存溢出

阅读 10

下面的程序用于把"blue"字符串反回,请指出其中唯一的错误!,第1张

可能你会一看就说是内存释放的问题,可是

这个不是最主要的,要是有两个错才会去想到这,可是这也是不可以忽视的就上面说的,没有结束符'\0'都是错

可是要是唯一的,就是你的pcNewColor = (char *)malloc(strlen(pcColor))

这一行中的strlen(pcColor),在32位机里就永远是4,因为pcColor是指针在C++中对指针用strlen的结果就是和strlen(int)一样,这里是你最大的错。 所以这里不能用strlen求长度,要么你自己计算pcColor的长度,要么你就用类string,你要是用的MFC也可以考虑CString里面全是有封装好的函数

的,如果全不用,我也可以推荐一个API给你,你可以用strlen(const char *),可是不管用那个全要多分配一个char保存结束符'\0',用后要释放

——————————

是的,不好意思

一个malloc我就没看你有的函数名,嘿嘿木有区别,bule是以前的命名规范,后来sun公司脑袋打铁去了,觉得用大写的好一点,就有了BLUE这种命名规范,之所以没有删除blue是因为已经有很多人用了blue这种写法,如果直接删除了的话

会导致新版本jdk不兼容老版本的程序,所以才留下来的而已 现在写的话用BLUE吧

纯手打,记得采纳哟

哈哈 我刚看过这一张的 在win32API函数中有一部分控制台的函数库。

#include <widows.h>然后

int main(){

HANDLE Screen = GetStdHandle(STD_OUTPUT_HANDLE)

SetConsoleAttribute(Screen,FOREGROUND_RED)//这个表示红色文本,绿色为FOREGROUND_GREEN蓝色就是blue了

cout <<...

}


这个函数库还有检测键盘输入控制输出背景等功能,你可以去研究下。

欢迎分享,转载请注明来源:

内存溢出

原文地址:

https://outofmemory.cn/yw/11538140.html
就是
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
4200 4200 一级用户组
解压后文件乱码是怎么回事?
上一篇
2023-05-16
笔记本电脑(thinkpad x2011)开机输入密码后黑屏
2023-05-16

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label}