gpt4 book ai didi

c - 访问由 C 中的指针引用的数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:55 26 4
gpt4 key购买 nike

我是 C 语言编程的新手,正在尝试编写一个简单的函数来比较字符串。我来自 Java,所以如果我犯了看似简单的错误,我深表歉意。我有以下代码:

/* check if a query string ps (of length k) appears 
in ts (of length n) as a substring
If so, return 1. Else return 0
*/
int
simple_substr_match(const unsigned char *ps, /* the query string */
int k, /* the length of the query string */
const unsigned char *ts, /* the document string (Y) */
int n /* the length of the document Y */)
{
int i;
for(i = 0;i < n;i+k){
char comp;
comp = ts->substring(i,k);
if (strncmp(comp, ps, k)) {
return 1;
}
}
return 0;
}

尝试编译时出现错误:请求成员“substring”不是结构或 union 。

代码的想法在代码注释中有所描述,但只是为了详细说明,我正在查看 ps 是否作为 ts 的子字符串以 k(ps 的长度)为增量出现。

我做错了什么,我该如何解决?有没有更好的方法来完成我想做的事情?

最佳答案

改变

for(i = 0;i < n;i+k){
char comp;
comp = ts->substring(i,k);
if (strncmp(comp, ps, k)) {
return 1;
}
}

for(i = 0;i < n-k;i++){
if (!strncmp(ts+i, ps, k)) {
return 1;
}
}

关于c - 访问由 C 中的指针引用的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21817076/

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