青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

kenlistian

厚積薄發. 勤為槳,思為帆

   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
  73 隨筆 :: 4 文章 :: 22 評論 :: 0 Trackbacks

    MFC中CEdit多行情況下,調用GetLine()時,發現老是后面跟有亂碼。即使你把str初始化也是如此。

對于采用GetLine()調用,其函數說明有2種。

1.int GetLine(
   int nIndex,
   LPTSTR lpszBuffer 
) const;
2.int GetLine(
   int nIndex,
   LPTSTR lpszBuffer,
   int nMaxLength 
) const;

  代碼如下:

   char str[10] = {'\0'};
   int nLineNum;//想要獲取的行號
   nLineNum=0;
   m_ctlEditTest.GetLine(nLineNum,str);

Remarks : The copied line does not contain a null-termination character.

看了下msdn,一句話說得很明白,getline做了copy后是不給你加null結束符的。因此需要自己在定義的char字符串末尾添加。而一次實際上會copy回多少個字節。則在該函數的說明中,在msdn中清晰表達為:

Return Value

  The number of bytes actually copied. The return value is 0 if the line number specified by nIndex is greater than the number of lines in the edit control.

所以,上面的代碼段得用一個值取得實際長度,把多余的截取掉,但我在用getline1時老是返回0,不知道為何?不過改成getline2,指定copy9個字節時,同時對第10個字節設置為null則正常返回,沒有亂碼的出現。如下

  int iLen =  m_ctlEditTest.GetLine(nLineNum,str, 9);

  str[10] = '\0'; 

即可。

。。。。。。。

在cedit中還有個linelength函數,

int LineLength(
   int nLine = -1 
) const;

該函數是應該返回指定行的長度,但是如果不仔細看msdn的說明,很容易誤解nLine是指cedit行中的某一行行數而代入其中,并得到錯誤的結論。

而在msdn中,nLine的說明是:

nLine

Specifies the character index of a character in the line whose length is to be retrieved. If this parameter is –1, the length of the current line (the line that contains the caret) is returned, not including the length of any selected text within the line. When LineLength is called for a single-line edit control, this parameter is ignored.

就是說nLine是字符串的字符索引,在多行情況下所以它必須通過LineIndex函數來獲取。在msdn中如下描述,

   Use the LineIndex member function to retrieve a character index for a given line number within a multiple-line edit control.

而LineIndex函數說明如下:

all this function to retrieve the character index of a line within a multiple-line edit control.

int LineIndex(
   int nLine = -1 
) const;

nLine

Contains the index value for the desired line in the text of the edit control, or contains –1. If nLine is –1, it specifies the current line, that is, the line that contains the caret.

該nLine才是真正的CEdit中的某一行列。也就是我們通過getlinecount()獲取到cedit的行數后,在到每一行中去找一個character index,再才能確定一行的長度。

有時,覺得mfc是不是有點對個簡單的問題把彎子繞得太遠了點吧。

。。。。

下面摘抄另一種解決方案,采用CString方式來copy一行的長度,我在自己機子測試過,通過GetLine函數1沒有通過,返回的是個空串,而采用GetLine2指定返回一個最大長度時,卻能copy回所要的數據,不過當采用最大長度時,由于拷貝回來的是一個不帶null終結符的串,則存在亂碼。由于工作時間緊張,問題只能采用指定大小的char串處理,但是采用CString串如果不指定大小的方法做一個mark。下列代碼供測試參考。

CString strTemp;
int nLineNum;
nLineNum=0;
m_ctlEditTest.GetLine(nLineNum,strTemp.GetBufferSetLength(m_ctlEditTest.LineLength(m_ctlEditTest.LineIndex(nLineNum))));
strTemp.ReleaseBuffer();

。。。。。。

總而言之,感覺vc中mfc太過于細節,莫免麻煩。但是感覺經歷過一次后,就不再是磕腳的石頭,而是心態的放心。也許,這是心理作用而已。

posted on 2008-02-15 21:17 kenlistian 閱讀(5513) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区在线免费观看视频| 男同欧美伦乱| 激情综合激情| 久久精品国产精品| 亚洲一区美女视频在线观看免费| 亚洲影院一区| 一区二区三区鲁丝不卡| 欧美日韩精品免费| 中文在线资源观看网站视频免费不卡 | 黄色工厂这里只有精品| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲一区二区三区四区在线观看 | 亚洲欧美另类国产| 亚洲三级国产| 亚洲国产第一页| 欧美成人精品高清在线播放| 久久人体大胆视频| 久久九九国产| 亚洲午夜一级| 亚洲欧美日韩直播| 亚洲一区二区三区四区中文| 亚洲欧美精品在线观看| 亚洲最新视频在线| 香蕉精品999视频一区二区| 亚洲自啪免费| 麻豆av一区二区三区| 欧美激情中文字幕一区二区| 亚洲黄色成人网| 亚洲一区在线观看免费观看电影高清| 欧美一区激情| 亚洲免费视频在线观看| 欧美亚洲一级片| 欧美日韩亚洲系列| 国精品一区二区三区| 亚洲国产成人精品女人久久久 | 亚洲高清免费在线| 模特精品在线| 亚洲乱码精品一二三四区日韩在线 | 在线播放中文字幕一区| 久久精品视频免费| 久久爱www.| 亚洲国产一区二区在线| 亚洲欧洲一区二区在线播放| 久久久免费精品| 国产欧美日本一区二区三区| 日韩午夜中文字幕| 欧美一区二区国产| 欧美福利视频网站| 麻豆精品视频在线| 亚洲精品视频免费观看| 亚洲国产成人不卡| 欧美日韩高清在线播放| 亚洲一区二区三区中文字幕| 国产精品99久久久久久久久久久久| 欧美国产丝袜视频| 日韩视频精品在线观看| 亚洲激情视频网站| 国产精品久久一区主播| 老**午夜毛片一区二区三区| 久久久天天操| 一区二区高清在线| 午夜欧美视频| 亚洲日本免费| 欧美一区2区视频在线观看 | 久久精品论坛| 亚洲黄色免费| 亚洲一区二区网站| 中文无字幕一区二区三区| 国产婷婷色一区二区三区四区| 亚洲大胆视频| 国产亚洲精品成人av久久ww| 在线观看欧美一区| av成人福利| 一本色道久久| 欧美激情欧美狂野欧美精品| 久久精品人人做人人爽电影蜜月| 欧美激情中文不卡| 欧美成人69av| 一色屋精品亚洲香蕉网站| 亚洲一区二区三区在线观看视频| 国产日产欧美一区| 亚洲午夜免费视频| 欧美一级淫片播放口| 国产精品乱码妇女bbbb| 一本一本a久久| 亚洲欧美日韩一区在线观看| 欧美特黄一级大片| 日韩视频一区| 欧美一区二区观看视频| 国产一区二区激情| 免播放器亚洲| 亚洲精品一区在线观看香蕉| 亚洲特级毛片| 欧美视频一区二区三区| 亚洲永久在线| 欧美激情bt| 亚洲黄色天堂| 老司机午夜精品视频在线观看| 最新成人av网站| 欧美一区二区三区视频在线观看| 国产精品毛片一区二区三区| 亚洲欧美综合v| 亚洲欧美日韩高清| 伊人久久综合97精品| 久久av最新网址| 久久久久久久91| 亚洲女与黑人做爰| 亚洲三级影院| **性色生活片久久毛片| 99视频精品在线| 欧美.日韩.国产.一区.二区| 亚洲专区在线| 日韩午夜在线电影| 亚洲激情婷婷| 国产一区亚洲| 国产欧美日韩精品专区| 欧美日韩在线观看一区二区| 免费在线看一区| 另类亚洲自拍| 久久精品青青大伊人av| 欧美激情五月| 亚洲嫩草精品久久| 亚洲午夜未删减在线观看| 亚洲国产精品久久久久婷婷884| 国产拍揄自揄精品视频麻豆| 国产精品一区久久久久| 国产精品爽爽爽| 国产亚洲欧美日韩在线一区| 国产麻豆日韩欧美久久| 国产日韩欧美三级| 在线视频国产日韩| 一区二区三区黄色| 欧美伊人精品成人久久综合97| 欧美在线播放一区二区| 欧美一区二区日韩| 久久综合九色综合欧美狠狠| 毛片精品免费在线观看| 农村妇女精品| 亚洲小视频在线观看| 久久成人免费视频| 欧美精品成人一区二区在线观看 | 亚洲一二三区在线观看| 亚洲少妇一区| 免费日本视频一区| 国产精品羞羞答答xxdd| 久久久亚洲高清| 亚洲高清久久| 午夜精品福利在线| 巨乳诱惑日韩免费av| 国产精品国产三级国产专区53 | 99国产精品国产精品毛片| 久久久一本精品99久久精品66| 亚洲自拍偷拍视频| 国产精品国产三级国产aⅴ无密码| 亚洲美女在线一区| 99riav久久精品riav| 欧美色图五月天| 欧美一区二区私人影院日本| 亚洲欧美激情精品一区二区| 国产亚洲午夜高清国产拍精品| 久久久久久亚洲精品不卡4k岛国| 欧美亚洲视频| 亚洲一区二区精品在线观看| 亚洲资源av| 亚洲欧洲日本国产| 亚洲欧美日韩国产综合精品二区| 国产在线拍偷自揄拍精品| 欧美aaaaaaaa牛牛影院| 欧美日韩一卡| 欧美国产精品劲爆| 国产午夜精品一区二区三区视频| 免费久久精品视频| 国产精品一区二区三区免费观看| 欧美va日韩va| 国产一区二区三区四区在线观看| 亚洲国产精品成人| 国产综合亚洲精品一区二| 一本久久综合亚洲鲁鲁| 亚洲激情视频网| 久久综合久久88| 久久久久久久一区二区| 国产精品一卡| 亚洲一区二区三区中文字幕| 一本大道久久a久久精二百| 久久精品日韩欧美| 国产区欧美区日韩区| 亚洲一二三区精品| 亚洲国产片色| 狼狼综合久久久久综合网| 久久亚洲一区二区| 韩国v欧美v日本v亚洲v| 久久精品成人| 亚洲欧洲日本一区二区三区| 亚洲卡通欧美制服中文| 欧美刺激性大交免费视频| 亚洲精品一区二区三区樱花 | 欧美精品在线观看播放| 一道本一区二区| 黑人巨大精品欧美一区二区| 亚洲国产一区二区三区青草影视|