今天被两个问题折腾了好久,一个是关于结构体数组传递值的问题,就是不知道结构体指针传递形参到子函数后,如何被子函数分解并继续使用,测试过程中老是只能在结构体数组的第一个元素进行操作,后面的操作就会提示“访问越界”之类的提示,真是伤透了脑筋。
第二个问题是关于遇到结构体数组不知道如何直接进行传递值的问题,我思考了很久,也查阅了不少资料,终于找到了下面一条比较麻烦的方法,不过测试基本可行,先贴上代码:
#include <afx.h>
#include <iostream>
using namespace std;
typedef struct
{
CString ni;
CString bi;
}MyStruct,s123;
LPBYTE getInfo()
{
CString mt = L"nihao";
WCHAR *tmep = (WCHAR*)malloc(100);
LPBYTE tem123 = (LPBYTE)tmep;
wsprintf((WCHAR*)tmep, L"%s", mt.GetBuffer());
tmep += (mt.GetLength()+1);
wsprintf((WCHAR*)tmep, L"%s", mt.GetBuffer());
return tem123;
}
void main()
{
DWORD nih = sizeof(MyStruct);
LPBYTE ni = getInfo();
wcout << (WCHAR*)ni << endl;
DWORD temp1 = (wcslen((wchar_t*)ni) + 1)*sizeof(WCHAR);
wcout << (WCHAR*)