对于字符数组或者指针与字符串的比较,两种方式
方法一:
strncmp 比较前n位
1 FILE *pInfo; 2 char ConsoleType[20]; 3 if((pInfo=popen("","r"))!=NULL) //引号内可以是grep等返回字符串的命令 4 { 5 memset(ConsoleType,'\0',sizeof(ConsoleType)); 6 fgets(ConsoleType,sizeof(ConsoleType)-1,pInfo); 7 pclose(pInfo); 8 } 9 if(strncmp(ConsoleType,"",10)) //引号内为待比较的字符串 10 { 11 //... 12 }
方法二:
直接比较,但是需要前序操作,如使用,需写好注释
1 FILE *pInfo; 2 char ConsoleType[20]; 3 if((pInfo=popen("","r"))!=NULL) //引号内可以是grep等返回字符串的命令 4 { 5 memset(ConsoleType,'\0',sizeof(ConsoleType)); 6 fgets(ConsoleType,sizeof(ConsoleType)-1,pInfo); 7 pclose(pInfo); 8 } 9 } 10 if(ConsoleType[strlen(ConsoleType)-1] = '\n') 11 ConsoleType[strlen(ConsoleType)-1] = '\0'; 12 string strConsoleType(ConsoleType); 13 14 if("" != strConsoleType) //直接比较,引号内为待比较的字符串 15 { 16 //... 17 }
本文介绍了两种比较字符数组或指针与字符串的方法:使用strncmp比较前n位和直接字符串比较。详细展示了通过popen和fgets读取命令输出,并用memset初始化字符数组的过程。最后,通过实例说明了如何在C/C++中进行有效的字符串比较。
2386

被折叠的 条评论
为什么被折叠?



