h,我是学生,学习 C 编程,通过 lab-windows CVI.. 在 GUI 中我创建了文本框和列表框...我从文件读取到文本框和用户,搜索一个单词。 ..匹配时,它应该出现在列表框中的单词...我使用了一个字符单词,(首先作为指针或数组)但使用关键字将单词放入列表框中,但是我得到错误:它指向char并期望char。我把它改成了简单的字符,但它抱怨它很小,即使我已经分配了......我希望你能解决我的问题..感激......`int i = 0,textLength; 字符 str[80],word1[25],word2;
static FILE *ifp;
switch (event)
{
case EVENT_COMMIT:
ifp = fopen ("text.txt", "r");
while((fgets(str,80,ifp))!=NULL) {
SetCtrlVal (panelHandle, PANEL_TEXTBOX, str);
SetCtrlVal (panelHandle, PANEL_TEXTBOX, "\n");
++i;
}
rewind(ifp);
GetCtrlAttribute (panelHandle, PANEL_STRING, ATTR_STRING_TEXT_LENGTH, &textLength);
word2 = (char) malloc (sizeof(char) * (textLength + 1));
GetCtrlVal (panelHandle, PANEL_STRING, &word2); //argument too small using usual char
while((fscanf(ifp,"%s",word1))!=EOF){
if(strcmp(word1,&word2)==0){
SetCtrlVal(panelHandle, PANEL_LISTBOX, word2); //get error, it is pointed to char and expect char (when *word2 or word[25]) ?!!
if ((panel2 = LoadPanel (0, "ex1.1.1.uir", PANEL_2)) < 0)
return -1;
DisplayPanel (panel2);
SetCtrlVal(panel2,PANEL_2_TEXTMSG,"match found");
}
}
break;`