社区
C++ 语言
帖子详情
请教c++字符串替换问题
sunshine19870904
2012-09-23 04:42:48
我的mfc程序有一部分是要通过识别字符串中的个别字符来实现换行,所以我想把字符串中的标志字符替换成换行符“\r\n”,如"与十进制数1023等值的十六进制数为( )。|A.3FD|B.3FF|C.2FD|D.2FF"其中“|”换成“\r\n”来输出:
与十进制数1023等值的十六进制数为( )。
A.3FD
B.3FF
C.2FD
D.2FF
注:由于字符串是从数据库中读取的,经过了强制类型转换,所以不能识别"\r\n",我才想到这个办法的,求赐教~~~
...全文
217
13
打赏
收藏
请教c++字符串替换问题
我的mfc程序有一部分是要通过识别字符串中的个别字符来实现换行,所以我想把字符串中的标志字符替换成换行符“\r\n”,如"与十进制数1023等值的十六进制数为( )。|A.3FD|B.3FF|C.2FD|D.2FF"其中“|”换成“\r\n”来输出: 与十进制数1023等值的十六进制数为( )。 A.3FD B.3FF C.2FD D.2FF 注:由于字符串是从数据库中读取的,经过了强制类型转换,所以不能识别"\r\n",我才想到这个办法的,求赐教~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunshine19870904
2012-10-08
打赏
举报
回复
呵呵,谢谢大家的帮助,已经解决,我最后选用的是replace这个函数,content.Replace("|","\r\n");
mymtom
2012-09-28
打赏
举报
回复
难道6楼的函数还不能实现吗?
sunshine19870904
2012-09-27
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
没太看懂楼主意思,如果只是进制转换,也太简单了点吧。麻烦楼主再说明下。
[/Quote]
不是的亲,这道题只是一个例子,是我从数据库里读出来的试题,想想以固定格式输出,但是现在我无法换行,都在一行输出了,我设置的换行符经过类型转换认不出来了
sunshine19870904
2012-09-27
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
不是很明白
我可以这样理解吗
你要做的事情是把|换成 换行符吗
为什么换成/r/n,这样字符串就不对了 ,多一个字节
直接换成/n
for(int i=0;i<string.getstrlength();i++)
{
char ch = string.getat(i);
if(ch != ‘|’)
{
ch = ‘/n’;
}
}
不知……
[/Quote]
是这个意思,但是我用的mfc换行符就是'\r\n',我先试试,因为这些试题都是从数据库中读出来的,经过类型转换成cstring类型,我无法实现他的换行
赵4老师
2012-09-25
打赏
举报
回复
用宽字符wchar_t[]处理带汉字文件。
赵4老师
2012-09-25
打赏
举报
回复
//GBK汉字内码范围(不包括A1xx~A9xx的标点符号英文字母特殊符号等)
//区码 ,位码
//81-A0 ,40-7E 80-FE
//AA-AF ,40-7E 80-A0
//B0-D6 ,40-7E 80-FE
//D7 ,40-7E 80-F9
//D8-F7 ,40-7E 80-FE
//F8-FE ,40-7E 80-A0
mymtom
2012-09-25
打赏
举报
回复
但是要注意有些汉字的编码的第二字节就是7C,与"|"的编码是相同的. 这时候就需要对汉字进行判断了
比如“億”GBK编码是 83 7C
mymtom
2012-09-25
打赏
举报
回复
[code=C/C++]
#include <stdio.h>
char *cvt(const char *src, char *dst)
{
int i, j;
j = 0;
for (i = 0; src[i]; i++)
if (src[i] == '|')
dst[j++] = '\r', dst[j++] = '\n';
else
dst[j++] = src[i];
dst[j] = '\0';
return dst;
}
int main(int argc, char *argv[])
{
char src[] = "与十进制数1023等值的十六进制数为( )。|A.3FD|B.3FF|C.2FD|D.2FF";
char dst[1024];
printf("%s\n", cvt(src, dst));
return 0;
}
[/Code]
Gloveing
2012-09-25
打赏
举报
回复
没说清楚!!
HAN-Kai
2012-09-25
打赏
举报
回复
没太看懂楼主意思,如果只是进制转换,也太简单了点吧。麻烦楼主再说明下。
ksintkgod_ttfu
2012-09-25
打赏
举报
回复
不会问题真的是 1023转16进制吧?
如果你不会算的话 用PC自带的计算机算一把 很简单的
希望能帮到lz
ksintkgod_ttfu
2012-09-25
打赏
举报
回复
不是很明白
我可以这样理解吗
你要做的事情是把|换成 换行符吗
为什么换成/r/n,这样字符串就不对了 ,多一个字节
直接换成/n
for(int i=0;i<string.getstrlength();i++)
{
char ch = string.getat(i);
if(ch != ‘|’)
{
ch = ‘/n’;
}
}
不知道是否是lz的意思
菜头叔
2012-09-25
打赏
举报
回复
1023的16进制=
3FF
蓝桥杯编程竞赛真题解析:涵盖穷举法、字符串处理、数学运算及图形打印等算法实践
内容概要:本文档《蓝桥杯真题举例.docx》汇集了多个蓝桥杯竞赛中的典型编程题目及其解决方案。题目涵盖穷举法、字符串处理、数学运算、逻辑推理等多个方面,旨在考察参赛者的算法设计能力和编程技巧。具体题目包括但不限于:通过计算啤酒和饮料的数量来练习穷举法;利用字符替换和逻辑判断解决“让我怎能过大年”的谜题;编写代码评估手机号尾号的价值;求解最小公倍数
问题
;实现字符串字符统计和字符串连接;以及模拟跳格子游戏等。每个题目均提供了详细的背景介绍、输入输出格式说明及参考答案或代码实现。 适合人群:对编程有兴趣并有一定基础的学习者,尤其是准备参加蓝桥杯或其他编程竞赛的学生和程序员。 使用场景及目标:①帮助学习者熟悉蓝桥杯竞赛题目的类型与难度;②提高编程技能,掌握不同类型的算法思想,如穷举、递归、动态规划等;③培养解决实际
问题
的能力,通过实践加深对编程语言的理解。 阅读建议:建议读者根据自身水平选择合适的题目进行练习,注重理解题目背后的逻辑和算法思想,同时尝试优化代码,提高效率。对于不懂的地方,可以通过查阅资料或向他人
请教
来加深理解。
算法提高 字符串进位(蓝桥杯)
资源限制 内存限制:256.0MB C/
C++
时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题
描述 对字符串中每一位替换为它的后继字符,然后输出。 输入格式 一行N个a~y的字母。 输出格式 一行N个字母表示答案。 样例输入 abcd 样例输出 bcde 数据规模和约定 N<=100000。 提示
请教
小教员:如何使用string;或者以char的形式读入,如while (cin>>ch){}...
linux命令置换符,Linux命令替换字符串
cef3 获得js 返回值, 以及js 指挥delphi 函数的 总结参考cef3如何加载本地html文件.
请教
老师[吐槽]常忘22:21:45@lazarus下载cef3中的范例中就有[吐槽]常忘< ...UVALive 6264 Conservation --拓扑排序题意:一个展览有n个步骤,告诉你每一步在那个场馆举行,总共2个场馆,跨越场馆需要1单位...
试题 算法提高 字符串进位
对字符串中每一位替换为它的后继字符,然后输出。
Json转换值类型字段为空字符串时报错
问题
1、
问题
在写Webservices时,碰到的
问题
。 定义的类: 1 public class User 2 { 3 public string sID { get; set; } 4 public int? iAge { get; set; } 5 public stri...
C++ 语言
65,198
社区成员
250,522
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章