免责声明:C的极端初学者。
我有一个char *类型的数组,它将字符串插入其中。
char* arr[100];
我基本上试图比较该数组的指标中的字符串,我试图做类似的事情
strcmp(arr[0],"something")
但它们属于不同的类型,我不知道如何解决这个转换问题,我已经看了其他问题,但它并没有真正解决我的问题。
我尝试使用转换
char str;
strcpy(str,arr[0]);
但是,它仍然没有提供正确的输出。
答案 0 :(得分:2)
尝试这样做:
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
const char* str_cmp = "something";
char* arr[100] = {"Something1","Something2","Something3"}; //You can declare 100 string here
int rc = strcmp(arr[0], str_cmp);
if(rc == 0)
printf("[%s] equals [%s]\n", arr[0], str_cmp);
else if(rc < 0)
printf("[%s] precedes [%s]\n", arr[0], str_cmp);
else if(rc > 0)
printf("[%s] follows [%s]\n", arr[0], str_cmp);
return 0;
}
获取有关的其他信息 strcmp
修改强>
如果您想比较arr[100]
中的其他字符串,只需尝试使用for
循环进行索引。
for(size_t i = 0 ; i < 100 ; i++)
{
///Comparing goes here
}
答案 1 :(得分:0)
strcmp(arr[0], "something")
上的{p> char* arr[100]
效果非常好:
#include <string.h>
#include <stdio.h>
char* arr[100];
int main(void)
{
int r;
arr[0]="something";
r = strcmp(arr[0], "something");
printf("%d\n", r);
return 0;
}