gpt4 book ai didi

c - 指针兼容性困惑

转载 作者:行者123 更新时间:2023-11-30 14:49:14 25 4
gpt4 key购买 nike

我已将文件读入字符串,并将字符串存储到动态分配的数组中。到目前为止,该程序运行良好。现在我尝试使用动态分配的数组来查找第一个字符串中第二个字符串的位置。

void findwordposition(char word[],int numrows,char*file[numrows])
{
char **ptr,*pa;
int i=0;

for(i=0;i<numrows;i++)
{
ptr=&file[i];
pa=strstr(ptr,word)(Compiler error regarding pointer compatibility)
}
}

有人可以解释一下如何将指针数组(自动和动态分配)与字符串函数一起使用,以及指针兼容性错误背后的可能原因是什么。

最佳答案

strstr声明为:

char *strstr( const char* str, const char* substr );

您需要向它传递一些可以转换为这些参数类型的东西。 ptr 不是其中之一,因为它的类型是 char **

你可以使用

char *ptr,*pa;

...


ptr = file[i];
pa = strstr(ptr, word);

消除编译错误。

希望您的代码中没有语义错误,并且程序在这些更改后能够正常运行。

关于c - 指针兼容性困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49803746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com