linux下用c程序获取字符串中的字符串。strstr以及int到char指针的强制类型转换

linux下用c程序获取字符串中的字符串。strstr以及int到char指针的强制类型转换,第1张

system不会返回运行命令的stdout

你要获得命令输出,要用popen

即:

File *fp = popen("ifconfig eth0", "r")

这里的fp是一个带缓冲的文件 *** 作符,你可以像文件一样去读取它,并做进一步处理

常见的指针类型转换有 void* 型到 int/char/long/../等对应的指针类型。 差别在不同类型的指针指向的变量长度可能不同,变量类型也可能不一样,若不转换会得到错误的结果。 对于强制转换,详细的可以参阅编译器高阶的相关内容

需要修改的不是pthread_create的第3个参数,而是第3个参数对应的线程函数函数原型,线程函数的原型是这样的形式:void *(*start_routine) (void *)线程函数的参数和返回值都是一个void指针,而你写的线程函数的参数却是一个int指针,把线程函数的参数修改成void *类型就可以了。如果你需要int型,可以这样写(用强制类型转换,因为线程函数的参数是void *,所以这在线程函数内部经常这样用):void * xxx(void *xa){printf("Thread function argument was %d\n", *(int *)xa)......}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9001351.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存