回覆列表
  • 1 # 大國師魂系列

    確立內容可以被正確修改並使用。如果你需要修改CString中的內容,它有一個特殊的方法可以使用,那就是GetBuffer,它的作用是返回一個可寫的緩衝指標。如果你打算修改字元或者截短字串,你完全可以這樣做:

    CString s(_T("File.ext")); LPTSTR p = s.GetBuffer(); LPTSTR dot = strchr(p, "" . ""); if(p != NULL) *p = _T(""\0""); s.ReleaseBuffer();  這是 GetBuffer 的第一種用法,也是最簡單的一種,不用給它傳遞引數,它使用預設值 0,意思是:“給我這個字串的指標,我保證不加長它”。

    當你呼叫 ReleaseBuffer 時,字串的實際長度會被重新計算,然後存入 CString 物件中。  必須強調一點,在 GetBuffer 和 ReleaseBuffer 之間這個範圍,一定不能使用你要操作的這個緩衝CString 物件的任何方法。因為 ReleaseBuffer被呼叫之前,該 CString 物件的完整性得不到保障。

  • 中秋節和大豐收的關聯?
  • 哪些不良習慣可引發牙周病?