活了这么多年,CString有长度限制?!

sospider 2001-05-14 05:42:00
CString是不是对字符串有长度限制?
------我用CString str.Format("INSERT INTO info(卡号,身份证号,姓名,性别,曾用名,民族,出生日期,毕业学校,籍贯,详细住址,获奖情况,实践经历,登记日期,备注)VALUES('00000000000000000001','110104568875965','刘信','男','flyoverwind','汉',#1978-10-11#,'北京外国语大学','山东','西三环中路35号','北京市英语演讲比赛一等奖','组织中加大学联谊活动',#2001-04-15#,'么诶有了啊哦阿瑟阿瑟哦色')";
调试察看变量值发现str被在中间截断了,没有给定的长.why?会不会中间有\0,怎么出现的呢?
...全文
1089 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
sospider 2001-05-14
  • 打赏
  • 举报
回复
问题是在debug的时候为什么被截断?
seesi 2001-05-14
  • 打赏
  • 举报
回复
CString的长度可以把一个文件的内容读进来。
seesi 2001-05-14
  • 打赏
  • 举报
回复
2M
sospider 2001-05-14
  • 打赏
  • 举报
回复
to tuggfox(踏歌而行)&ydogg():谢二位大哥,不过有没有好的解决方法?

to sjy:1.这和SQL的语法还没什么关系,只是CString操作,日期型这样应该还好用吧,你怎么写?
2.我开了内存窗,而且看了PCHDATA指针,还是不全,拷出来也是一样。

to wagnerwash:没明白你说的是哪里?
sospider 2001-05-14
  • 打赏
  • 举报
回复
thanx各位,试试再说
huafeng 2001-05-14
  • 打赏
  • 举报
回复
我也碰到类似的问题。
有一个表的字段名为CaseDes,类型定义为"备注"型,在类向导中生成CRecordset的派生类CCaseSet,则字段CaseDes自动被定义为CString类型,作如下调用:
CString strCase=m_pSet->m_CaseDes则提示数据被截断,编辑框中显示的strCase值为乱码。而当CaseDes中长度小于256个字符时则不会出错,

请高手解答。
zhaoyao73 2001-05-14
  • 打赏
  • 举报
回复
有限制
受内存+硬盘的限制
可以说无限大.
ydogg 2001-05-14
  • 打赏
  • 举报
回复
to tuggfox:
不。我就是一个简简单单的CString;
用UpdateData(FALSE);显示的。
tuggfox 2001-05-14
  • 打赏
  • 举报
回复
to sospider:
对不起,我记错了。
我试了一下是没有这么小的限制。
sjy 2001-05-14
  • 打赏
  • 举报
回复
1。SQL的语法就是这样,不过我看你表示日期的方法跟我有点不同。
不过有一点。在DEBUG时CSTRING太长确实会看到截断,但只是看过而已,实际上
数据并不会截断,你用ALT+6开一个内存窗,然后输入CSTRING的PCHDATA的指针
就可以看全了。
2。CSTRING的存储很大。
3.卡号,身份证号,姓名,性别,曾用名,民族,出生日期,毕业学校,籍贯,详细住址::你不会
拿这东西做字段名吧!
4。format(_T("............."));为好,我以前以这咆了不少亏

ccloud 2001-05-14
  • 打赏
  • 举报
回复
调试中用MessageBox试试,肯定没问题!
tuggfox 2001-05-14
  • 打赏
  • 举报
回复
to ydogg:
那你是 CString* 吧! 用指针的话要碰到 '\0' 才结束。
或者可用 CStringEx 。
ydogg 2001-05-14
  • 打赏
  • 举报
回复
A CString object can store up to INT_MAX (2,147,483,647) characters.
msdn上说的。一般不可能超出这个界限的,可能是你的程序无意中作了什么修改。
liu_feng_fly 2001-05-14
  • 打赏
  • 举报
回复
guanzhu
111222 2001-05-14
  • 打赏
  • 举报
回复
CString没有长度限制。
tuggfox 2001-05-14
  • 打赏
  • 举报
回复
那你是CString*吧!
wagnerwash 2001-05-14
  • 打赏
  • 举报
回复
用\'而不是'
初级C错误!
ydogg 2001-05-14
  • 打赏
  • 举报
回复
不会只有250个子节。
我以前曾经显示的东西不会少于2k.
tuggfox 2001-05-14
  • 打赏
  • 举报
回复
使用 “SQL串” 的函数一定要CString类型的参数吗?
tuggfox 2001-05-14
  • 打赏
  • 举报
回复
我说的是 char*
加载更多回复(3)

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧