请问这个函数的问题怎么解决?
有两个问题啊。
第一个是,你的文档里有zylib.h的头文件吗?应该是没有这个文件的。zylib.h这个头文件要跟C源代码文件放一起。就是要这样子。
main函数的文件要和这个头文件放在一起,要不然检测不到。编译器提示没有GetStringFromKeyborad()的原因,因为stdio.h这个头文件,是标准头文件,不存在GetStringFromKeyborad()这个名字的函数,所以肯定是你自己写的,放在了你自己写的zylib.h的头文件里面。
第二,如果头文件是这样放的,它还是提示GetStringFromKeyboard()的错误的话,就要打开你这头文件,看看zylib.h的头文件里有没有这个函数的声明了,如果zylib.h的头文件里有这个声明,就要看看这个函数的源代码是不是写在这头文件里了,如果没有,那么就需要看一下它是不是放在其他地方了,另外写的,需要GetStringFromKeyborad的函数的源代码的,没有源码,只有声明,编译不了。
第二个错误,就是你自己的代码写错了,倒数第二行的printf函数里,那个name变量前面的&要去掉,直接写成printf("hello,%s\n",name);参数是name变量,不是name的地址。
可能你需要看一下zylib.h的源码啊,我记得C语言里没有string这数据类型啊,而且要有,也是小写的啊,STRING全是大写的,而且用的是C语言的格式,STRING应该也是你自己写的吧,需要看一下STRING的定义,因为编译器提示的需要char *字符型指针,需要变量的类型是char *指针,STRING是怎么定义的,也是不明确的。。。。如果STRING的定义是数组,应该直接用数组的名字,否则要取地址符&。。。。。