欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎样获取 edit控件读取每行信息的字符个数?解决办法

更新时间: 2014-01-05 01:52:21 责任编辑: Author_N1

 

怎样获取 edit控件读取每行信息的字符个数??
我现在需要获取EDIT 控件里每行的信息,我用的是 CEdit pEdit; pEdit.GetLine(0,ctestline,100); 根据GetLine函数的定义,第二个参数因为存放 改行信息的字符数组,但是现在不小的该行的字符个数到底是多少?请问高手,怎末样获取啊 ,,,没有个数怎末样建立字符数组啊 ,不要说动态数组,动态数组也是要获取大小先的。。。小弟在线等牛人你解答!!感激不禁!!

--参考方法--
C/C++ code

   extern CEdit* pmyEdit;    // The pointer to my edit control:

   int i, nLineCount = pmyEdit->GetLineCount();
   CString strText, strLine;
   // Dump every line of text of the edit control.
   for (i=0;i < nLineCount;i++)
   {
      // length of line i:
      int len = pmyEdit->LineLength(pmyEdit->LineIndex(i));
      pmyEdit->GetLine(i, strText.GetBuffer(len), len);
      strText.ReleaseBuffer(len);
      strLine.Format(TEXT("line %d: '%s'\n"), i, strText);
      afxDump << strLine;
   }

--参考方法--
EM_GETLINE Message
看MSDN , 不能直接取到



不过你可以这样做:

The copied line does not contain a terminating null character.
它返回的字符串是包含null字符串的

而它的返回值是
The return value is the number of TCHARs copied. The return value is zero if the line number specified by the wParam parameter is greater than the number of lines in the edit control.

那么,可以用一个循环。
首先用长度为100 的TCHAR获取, 如果返回值显示还有未读取完的, 则增加一倍缓存区。 继续读。
知道读取完成 再退出此循环
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:52:21
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2313/
本文WWW.DOC100.NET DOC100.NET版权所有。