sgdd.net
当前位置:首页 >> C++应该是两个问题 就输出数据时 会输出乱码和地址 >>

C++应该是两个问题 就输出数据时 会输出乱码和地址

std::cout

没有给da末尾赋值一个结束符(0x0) 看图,这是da的内存,10字节的空间,但后面是0xcc,而不是0x0 cout打印出来的字符串是遇0x0才结束,所以这才出现了乱码

这个不是你程序的问题,是Windows记事本的Bug,因为程序输出的某些字符触发了这个bug,记事本把文件当成unicode编码处理,结果乱码。 把这句 ofile

其实不是乱码,是他的地址。字符数组属于*char如果把数组名输出,等于输出了 &ch[0]

我觉得是你把字符串结束标记干掉了, 你把 那句赋值注释掉运行程序看看。 如果还有问题你让我看看你name数组和sex数组的长度定义的是多少?

因为b是一个局部变量,在change函数返回后,这个变量就不存在了,原先的地址也不属于b了。这时候这个空间可能被别的占用,所以就是乱码了。 一般来讲,局部变量是分配在栈中的,函数结束后退栈,然后再调用新的函数时候,又有新的内容被压栈,所...

string 只是char的容器 你要用wstring,这个里面封装的是wchar_t ,这个可以支持多字节字符。这个类的使用和string一样 ,因为它们都是来自一个模板。 注意,多字节字符字面常量 这样表示 L“你好我好大家好”,

你没有搞清楚字符串和字符的区别啊 , 首先我 不 得不说你 一下,用字符数组来存储字符串是 个很不好的习惯,每次输入数据的时候都要调用循环,这会对程序的结构和执行的效率造成不好的影响,string是专门的字符串类型,很好的东西怎么要搞那么...

首先,你做文件的输入输出的时候不该用.doc的,word不是纯文本。另外,ifstream fin("D:/我的输入文件.doc"); for(i=0;i>a[i]; for(i=0;i

你用notepad++打开,全选你的代码,然后选编码这样试试,我用Qt也经常遇到这个问题,但vs2017我不知道行不行,你可以试试

网站首页 | 网站地图
All rights reserved Powered by www.sgdd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com