C ++ Novice,将字符串放入结构

时间:2017-03-02 17:07:34

标签: c++ winapi struct

这是我的第一篇文章,也是C ++的初学者。我试图用C ++编写一个简单的程序来显示一个收集数据然后将一些数据放入结构中的表单。然后,该结构将包含一组结构。这是一个学习步骤,所以我很乐意接受批评。我有表格并且正在运行,但我也希望能够在任何给定时间看到我的结构中的内容。

这是我的结构

struct student
{
    char firstName[30];
    char secondName[30];
    char addr1[30];
    char addr2[30];
    char postcode[30];
    int testScore;
    int average;
};

以下是我正在努力解决的代码段。

int gwtstat = 0; /* Get Window Status from "getwindowtext" function*/
student submit;

gwtstat = GetWindowText(firstName, &submit.firstName[0], 30),
gwtstat = GetWindowText(secondName, &submit.secondName[0], 30);

//gwtstat = GetWindowText(addrLine1, &addrLine1Txt[0], 30);
//gwtstat = GetWindowText(addrLine2, &addrLine2Txt[0], 30);
//gwtstat = GetWindowText(addrLine3, &addrLine3Txt[0], 30);
//gwtstat = GetWindowText(postcode, &postcodeTxt[0], 30);
//gwtstat = GetWindowText(landlineNumber, &landlineTxt[0], 30);
//gwtstat = GetWindowText(mobileNumber, &mobileTxt[0], 30);

// This is what I am having problems with
::MessageBox(hwnd, submit.firstName submit.secondName, "Submitted Structure", MB_OK);
//cout << "First Name " << firstNameTxt << endl; /* Doesnt work in a Win32 application?*/

有没有直接的方法可以直接将TextFields放入结构中,还可以在某种调试日志或消息框中观察放入我的结构中的数据?

道歉,如果问题有点间接,因为我不完全确定实现这一目标的最佳方法是什么,或者即使可能。

提前致谢!

1 个答案:

答案 0 :(得分:0)

从形式和结构中获取信息并不是更好的方法。要显示值,请尝试:

char name[100];
sprintf_s(name, 100, "%s %s", submit.firstName, submit.secondName);
::MessageBox(hwnd, name, "Submitted Structure", MB_OK);

另外,你在GetWindowText()调用中并不需要[0]。指针将指向字符串的第一个字符。

编辑:如上所述&amp;也是不必要的,因为submit.firstName的行为类似于&submit.firstName[0]