struct里char buffer[1]的使用方法 typedef struct _Record{ DWORD dwLength; ...... char buffer[1];}Record, *PRecord;Record rec;应该如何往rec.buffer里放东西呢?需要new吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 晕,楼上的可能不知道这种占位符。下面是DDK里面的一段,这种技术好像是利用了数组不检查越界。typedef struct _SMBMRX_CONNECTINFO_{ DWORD ConnectionNameOffset; DWORD ConnectionNameLength; DWORD EaDataOffset; DWORD EaDataLength; BYTE InfoArea[1];} SMBMRX_CONNECTINFO, *PSMBMRX_CONNECTINFO;ConnectInfo = (PSMBMRX_CONNECTINFO) LocalAlloc( LMEM_ZEROINIT, MAX_CONNECT_INFO_SIZE ); if ( ConnectInfo ) { ConnectInfo->ConnectionNameOffset = 0; ConnectInfo->ConnectionNameLength = ConnectionName.Length; CopyMemory( ConnectInfo->InfoArea, ConnectionName.Buffer, ConnectionName.Length ); ... 那会造成栈溢出的啊typedef struct _Record{ DWORD dwLength; char buffer[1];}Record, *PRecord;int main(){ Record rec; strcpy(rec.buffer, "eiiweifkdsflakdsjdfsakfdksa"); return 0;} 如果需要new的话 为什么不写成char* buffer呢 vc 定义接口 关于贴图的问题, [求助]怎样理解IOCP 求教:文本框数据校验的问题~~ 非托管VC++.net使用GDI+时如何调用LockBits! MS CryptAPI 如何在对话框关闭后相应view的ondraw呢?? 程序如何得到“SQL数据库的数据被修改”的即时通知?? 高分求解,我的对话框窗口为何不响应WM_NCACTIVATE,WM_NCPAINT消息? 为什么用CInternetSession.OpenURL()得不到完整的文件? 如何得到bmp位图上特定RGB值的像素坐标?着急中~~~ 急!!!,我想要把一个生语料进行标注,请问有谁知道怎么在程序中调用ICTCLAS?
下面是DDK里面的一段,这种技术好像是利用了数组不检查越界。
typedef struct _SMBMRX_CONNECTINFO_
{
DWORD ConnectionNameOffset;
DWORD ConnectionNameLength;
DWORD EaDataOffset;
DWORD EaDataLength;
BYTE InfoArea[1];} SMBMRX_CONNECTINFO, *PSMBMRX_CONNECTINFO;ConnectInfo = (PSMBMRX_CONNECTINFO) LocalAlloc( LMEM_ZEROINIT, MAX_CONNECT_INFO_SIZE );
if ( ConnectInfo )
{
ConnectInfo->ConnectionNameOffset = 0;
ConnectInfo->ConnectionNameLength = ConnectionName.Length;
CopyMemory( ConnectInfo->InfoArea, ConnectionName.Buffer, ConnectionName.Length );
...
typedef struct _Record
{
DWORD dwLength;
char buffer[1];
}Record, *PRecord;int main()
{
Record rec;
strcpy(rec.buffer, "eiiweifkdsflakdsjdfsakfdksa");
return 0;
}