HoK*_*y22 5 c++ msdn getbuffer
我试图理解 GetBuffer() 函数。看起来它返回指向 CString 的指针,这在msdn GetBuffer() 中得到确认 。但是,我不明白msdn GetBuffer() 中显示的示例。
LPTSTR p = s.GetBuffer( 10 );
Run Code Online (Sandbox Code Playgroud)
里面是10有什么原因吗?谁能告诉我这个例子的输出?
10 是最小缓冲区长度,因此,如果您对 4 个字符的 CString 调用 GetBuffer(),它将分配一个 10 个字符长的 LPTSTR,以防万一您想将更长的字符串 strcpy 到该缓冲区中(就像它们在这个例子)。示例中的 10 是任意的,他们可以轻松使用 6(“Hello”中的五个字母加上终止空)或任何更大的数字,并且效果相同。
不过,一般来说,除非确实需要使用 GetBuffer(),否则最好不要使用它。
| 归档时间: |
|
| 查看次数: |
15595 次 |
| 最近记录: |