为了账号安全,请及时绑定邮箱和手机立即绑定

VC关于GetLength函数?

VC关于GetLength函数?

幕布斯7119047 2019-02-06 11:07:14
如果直接用CString定义并初始化情况下,GetLength()能得到正确的字符串长度,如:CString str=_T("abcd");str.GetLength()返回的值是等于4;但是当我先用一个数组定义,然后再用这个函数的时候返回值就不正确了,如:char c[4]={'a','b','c','d'};CString str;str=c;str.GetLength()的返回值就是错误的。这个是什么原因,能不能给解释。
查看完整描述

3 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

  CFile::GetLength
  virtual DWORD GetLength( ) const;
  throw( CFileException );
  Return Value
  该文件的长度。
  Remarks
  获得当前字节文件的逻辑长度,而不是数量。
  Example
  The following example demonstrates the use of CString::GetLength.
  // example for CString::GetLengthCString s( "abcdef" );ASSERT( s.GetLength() == 6 );CString::GetLength
  int GetLength( ) const;
  返回值:返回字符串中的字节计数。
  说明:
  此成员函数用来获取这个CString对象中的字节计数。这个计数不包括结尾的空字符。
  对于多字节字符集(MBCS),GetLength按每一个8位字符计数;即,在一个多字节字符中的开始和结尾字节被算作两个字节。
  示例:下面的例子说明了如何使用CString::GetLength。
  // CString::GetLength示例:
  CString s( "abcdef" );
  ASSERT( s.GetLength() == 6 );



查看完整回答
反对 回复 2019-03-25
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

char c[4]={'a','b','c','d'};
改为:
char c[5]={'a','b','c','d','\0'};
就对了

原因:c语言中字符串以‘\0’结束

查看完整回答
反对 回复 2019-03-25
  • 3 回答
  • 0 关注
  • 1027 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信