亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有無知道這個情況的!CFile::Read()函數的問題,具體如下!

有無知道這個情況的!CFile::Read()函數的問題,具體如下!

達令說 2021-10-18 19:15:26
都知道這個函數的第一個參數是緩沖區 那么 緩沖區起碼該夠大吧? 但是我這樣char *pString=new char;CString String;files.Read(pString,9);String=pString;CDC *pDC=GetDC();pDC->TextOutW(0,0,String,9);一段代碼 竟然可以正常的讀取 這是為什么呢? 難道是像字符串指針一樣? “指針指向讀出來的字符串?” 而且 如果把pString指向一個char變量 也不能正確運行 單單new分配內存可以 這為什么呢? 還有 Read()函數內部是怎么把讀出來的數據放到我們提供的緩沖區的呢? 是不是一個字符一個字符的拷貝? 那和字符串指針有什么區別? 那不用初始化的指針不也可以用了嗎?Read()函數內部是怎么把讀出來的數據放到我們提供的緩沖區的呢? 是不是一個字符一個字符的拷貝? 那和字符串指針有什么區別? 那不用初始化的指針不也可以用了嗎?
查看完整描述

2 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

char * 就是 string
但是你用new char ,只分配了一字節空間,能成功運行,不代表他是正常的
Read()后,自動一直向高地址填充數據
你又聲明了一個CString 指向了 pString的地址,也就是那個串的首地址
所以能正常輸出,

查看完整回答
反對 回復 2021-10-24
  • 2 回答
  • 0 關注
  • 389 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號