问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD...

发布网友 发布时间:2024-03-05 08:14

我来回答

2个回答

热心网友 时间:2024-09-25 18:53

因为ABCD后面有\0,\0是结束字符,后面的所以是4,即strlen("ABCD");

热心网友 时间:2024-09-25 18:53

char*转换

Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换
Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型
在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。
因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’
方法如下:
Qstring str;
char* ch;
QByteArray ba = str.toLatin1();
ch=ba.data();
这样就完成了QString向char*的转化。经测试程序运行时不会出现bug
注意第三行,一定要加上,不可以str.toLatin1().data()这样一部完成,可能会出错。

补充:以上方法当QString里不含中文时,没有问题,但是QString内含有中文时,转换为char*就是乱码,采用如下方法解决:
方法1:
添加GBK编码支持:
#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
然后改变上面的第三行为:QByteArray ba = str.toLoacl8Bit(); toLoacl8Bit支持中文
方法2:
先将QString转为标准库中的string类型,然后将string转为char*,如下:
std::string str = filename.toStdString();
const char* ch = str.c_str();
...efgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")));_百度...

strcpy是复制字符串,将逗号后面的字符串复制到逗号前指针所指向的位置。所以P中存储的是ABCD4个字符返回字符串长度4(不计行尾符)。

...abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD"))); 为什...

因为ABCD后面有\0,\0是结束字符,后面的所以是4,即strlen("ABCD");

...efgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")

首先strcpy(p,"ABCD")这句是说。将ABCD赋值个p,他们之间是怎么赋值的呢,让p指针指向“A”的地址,如果取值的话就*P拿到A了。这个函数返回的值是目标串的地址,也就是p啦,那么p是个指针怎么算地址的长度呢,其实就是strlen("ABCD")啦,为什么,计算机知道的啦,因为p指向了“ABCD”首地址了,...

C语言char *p=“abcde/Ofghjik/0”; ??printf(“%d/n”,strlen(p...

应该是"abcde\0fghijk\0"吧 对于strlen是读取字符串个数,碰到\0就结束 参考:strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小,strlen只能用char*做参数,且必须是以''\0''结尾的。1、第二个元素就是\0 所以得到字符串长度为1 2、\t \v \\都是转义...

C语言 char *p="abcde"; printf("%s",p);正确;;;char *p="abcde"; pr...

语句printf("%s",*p);会出错,因为%s表示输出字符串,而*p则是指向的字符串的第一个字符,请改成printf("%c",*p);则输出a,改成printf("%d",*p);则输出97,原因分析:char *p="abcde",则字符指针p指向字符串,p的值就是字符串首字符的地址,*p就是第一个字符。

有点蒙了,char *p="abcdefgh",sizeof(p)居然是4我记得应是字符串的...

sizeof(p)的时候是对char *这样一个指针类型进行sizeof,当然是4。字符串长度用strlen。或者char [n]的时候可以用sizeof。

c语言 main() { char *p="abcdefgh",*r; long *

而 p 指针 指数加 1,指向的地点 只加1 bytes 因为,sizeof(char) 等于 1,sizeof(long) 等于4.q++; // 指向的地点 加了 4 bytes,也就是 越过了 abcd r=(char *)q; // 把现在q 指向的地点 给 char r 指针,作为 r 指针的首地址。printf("%s",r); // 按字符形式 打出: ...

char *p, s[ ]= "abcdefgh";p=s;其中P=S如何理解?麻烦详细讲讲_百度...

P指针指向这个字符串的首地址

...dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4])); }

strlen(p[4])表示指针p中第五个数组的长度(0、1、2、3、4所以为第五个)在定义的指针p中第五个数组为“cd"所以输出结果为2

...p++; return(p-s); } main() {printf("%d\n",f("ABCDEF")

char *p=s;// 下面的 while 循环的意思是:// 当指针 p 指向的 s 中的字符【不是 "\0"】// 则指针 p 指向字符串中的下一个字符,循环继续 //你应该认识 "\0" 了,它就是一个字符串结束的标志符号 while (*p != '\0')p++;//退出上面的 while 循环到达这里的时候,//指针 p 【...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
一战后到二战前的德国是什么样子的大神们帮帮忙 德国现今的政治制度是什么?皇帝是否还存在?若存在,则皇帝在德国的地位如... 为什么觉得这石敢当怎么看起来故事情节和《西游记后传》一模一样呢... 在浙江考过的一级市政建造师到湖北省可以考B吗?可以在湖北省考造价工程... A省某单位职工在B省报名一级建造师考试,请问领证在哪领,考试呢 一级建造师考试A省老考生在下一年去B省考还用再进行审核吗? 前段时间在电视上看到一部电视剧,不知道叫什么名字,剧情是,玉皇大帝让... ...的团团转,任她摆布,几乎什么都听她的。我又 有个很聪明狡猾有心机总是害我对我不好的后妈 我该怎么反击,心里... 梦见一家人在吃饭,老公的旁边多出一个女人,还搂着我老公,亲我老公,老 ... 电视机不识别软件是怎么一回事? “离婚吧,我成全你们”“老婆你真怂,原配怎么能轻易认输”怎么办? 百度贴吧的贴子顶置了还能解除么 一岁滑雪萌娃携爱宠亮相冬奥开幕式,她是如何被张艺谋导演选中的?_百度... 安安和哥哥是亲兄妹吗 巴赫旧约在哪可以听到??我想听听看,听说很好听!! 《巴赫旧约》txt全集下载 有磁场,就一定有磁体存在么? 是学生,未系安全带,问了身份证和名字还有电话号码交通罚款会不会记录... 副驾驶没系安全带被交警抓了,当场缴费了,为什么电脑上还显示没缴费,这... 刀剑英雄有永久坐骑吗? 刀剑英雄我的那个狗熊和系统送的马都过期了,怎么免费再来个坐骑 刀剑英雄2是和一一样 只是做升天才能升级么? 还有坐骑是买还是送?? 刀剑英雄中,坐骑怎么弄到手 U盾怎么不显示!!!急 财产分割答辩状范文 改错了未满一年怎么改回来 将一块泡沫塑料压入水中,一松手,为什么它会上浮? 意什么风发 不满足一年想改 ...abcdefgh&quot;; p+=3; printf(&quot;%d\n&quot;,strlen(strcpy(p,&quot;ABCD&quot;)_百度知 ... char p[ ]=&quot;12345\0QQ\0&quot; printf(&quot;%d\n&quot;,strlen(p))的值是多少? char *p=&quot;abcdefgh&quot;; p+=3; printf(&quot;%d\n&quot;,strlen(strcpy(p,&quot;ABCD... 读了河水的忧愁你有什么想说的和想做的? 斯坦劳莱斯钢琴性价比怎么样? 斯坦劳莱斯钢琴怎么样 上海迪士尼哪一年开的? 西北大学思源学校电话多少? 大学城郭杜西北大学附小是公办吗 信用社和农商银行有什么区别,是不是一样的?总结五点不同 晨曦软件怎么审核进度款 名爵hs30t荷尔蒙超然版有没有车道保持 ...样问题导致不同原因的肥胖,花漾宣言营养代餐奶昔都有用吗?_百度知... 爸爸的衣服(白)和我的裙子沾上墨汁了(蓝的)爸爸的很多,我的很少,怎 ... 财富悦享两全保险(分红型)有哪些优点? 购买阳光人寿财富臻享(分红型)年金险能有哪些好处? 我们的袜子只要三美元两双,翻译英语 南昌有几条地铁线路 周长工式有哪些 江西地铁有哪些城市
  • 焦点

最新推荐

猜你喜欢

热门推荐