CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

奇怪的字符转行问题

楼主mylovepc(浪子)2003-11-02 01:18:03 在 VC/MFC / 基础类 提问

用于操作字符的函数(经过测试没问题的)  
  //=======================================  
  //  
  //Conversion   string   field   (fix   bug)  
  CString   CNew::OnFixfieldstringbug(CString   strIn)  
  {  
      CString   str_return;  
    for(int   i=0;   i<=strIn.GetLength();i++)  
    {  
    if(strIn[i]=='\'')  
    str_return   +="\"";  
    else    
                    str_return   +=strIn[i];  
    }  
    //MessageBox(str_return);  
    return   str_return;  
  }  
  //========================================  
  但是我在多次调用并把多次调用的结果都累计到一个cstring变量的时候,却出现了问题,这个变量不可以是完整的  
  比如  
    CString   str_temp;  
   
  CString   str_Insert="Insert   into   News   Values   (";  
  //  
  str_Insert   +="'";  
  GetDlgItemText(IDC_EDIT_TIME,str_temp);  
  str_Insert   +="',";  
          //  
  str_Insert   +="'";  
  GetDlgItemText(IDC_CHINA_TITLE,str_temp);  
          str_Insert   +=OnFixfieldstringbug(str_temp);  
  str_Insert   +="',";  
  //  
  str_Insert   +="'";  
  GetDlgItemText(IDC_CHINA_CONTONT,str_temp);  
          str_Insert   +=OnFixfieldstringbug(str_temp);  
  str_Insert   +="',";  
  //  
  str_Insert   +="'";  
  GetDlgItemText(IDC_IMAGE_LINK,str_temp);  
          str_Insert   +=OnFixfieldstringbug(str_temp);  
  str_Insert   +="',";  
  //  
  str_Insert   +="'";  
  GetDlgItemText(IDC_ENGLISH_TITLE,str_temp);  
          str_Insert   +=OnFixfieldstringbug(str_temp);  
  str_Insert   +="',";  
  //  
  //  
  str_Insert   +="'";  
  GetDlgItemText(IDC_EDIT_ENGLISH_CONTONT,str_temp);  
          str_Insert   +=OnFixfieldstringbug(str_temp);  
  str_Insert   +="'";    
  我的每个DEIT控件里都有字符串,OnFixfieldstringbug(str_temp);处理回来的结果也是正确的,但就不知道为什么str_Insert的结果却只有一半就没下文了 问题点数:100、回复次数:9Top

1 楼saucer(思归)回复于 2003-11-02 03:07:28 得分 80

for(int   i=0;   i<=strIn.GetLength();i++)  
  ===>                   ^^^^^??    
  for(int   i=0;   i<   strIn.GetLength();i++)  
   
  by   the   way,   for   your   purpose,   you   can   simply   do  
   
    YourString.Replace("\'",   "\"");  
  Top

2 楼mylovepc(浪子)回复于 2003-11-02 09:34:52 得分 0

但是问题不在字符操作函数啊。不过也可以试试Top

3 楼mylovepc(浪子)回复于 2003-11-02 09:42:58 得分 0

saucer(思归)   奇怪了,怎么这样就解决问题了?Top

4 楼xf_lii(浏风)回复于 2003-11-02 10:28:40 得分 20

CString   CNew::OnFixfieldstringbug(CString   strIn)  
  {  
      CString   str_return;  
    for(int   i=0;   i<=strIn.GetLength();i++)     <===   问题在这   i<strIn.GetLength()  
    {  
    if(strIn[i]=='\'')  
    str_return   +="\"";  
    else    
                    str_return   +=strIn[i];  
    }  
    //MessageBox(str_return);  
    return   str_return;  
  }  
  Top

5 楼tonybaobao(Tony宝宝)回复于 2003-11-02 11:43:43 得分 0

呵呵,永远要坚信是自己代码的问题:)Top

6 楼bluebohe(薄荷)回复于 2003-11-02 13:36:02 得分 0

耀眼的五颗星啊:)Top

7 楼vcforever(累)回复于 2003-11-02 13:45:32 得分 0

专家总榜的老大啊!  
  耀眼啊!Top

8 楼yintongshun(左岸思雨)回复于 2003-11-02 14:23:34 得分 0

看见5颗星星就眼冒金星Top

9 楼ablefirst(able)回复于 2003-11-02 16:08:48 得分 0

五颗星就是不一样。  
   
  CString::Replace  
  int   Replace(   TCHAR   chOld,   TCHAR   chNew   );  
   
  int   Replace(   LPCTSTR   lpszOld,   LPCTSTR   lpszNew   );  
   
  Top

相关问题

  • 连接字符串的奇怪问题
  • 奇怪的字符串是什么?
  • 很是奇怪的字符比较
  • 字符串连接的奇怪问题
  • 奇怪的字符串函数!
  • 输入字符的奇怪问题
  • 很奇怪啊,字符串奇怪的改变???
  • (oracle)如何解决这个很长的sql字符串:(怎样让他转行?)
  • Text文件里面读取的字符怎么才能自动转行啊
  • 地址栏会自动生出一串奇怪的字符?

关键词

  • 字符
  • 问题
  • cstring

得分解答快速导航

  • 帖主:mylovepc
  • saucer
  • xf_lii

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo