Tag: strchr

使用g_object_set / strchr进行分段错误

这行给我一个分段错误 : g_object_set(G_OBJECT(data.udpsrc), “port”, 5000, “caps”, caps, NULL); 哪里 data.udpsrc = gst_element_factory_make(“udpsrc”, “source”); caps = gst_caps_new_empty_simple(“application/x-rtp”); 这是gdb的输出: Program received signal SIGSEGV, Segmentation fault. strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28 28 ../ports/sysdeps/arm/armv6/strchr.S: No such file or directory. (gdb) bt #0 strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28 #1 0x76e618d8 in g_param_spec_pool_lookup () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 #2 0x76e5c6a4 in g_object_set_valist () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0 […]

C函数strchr – 如何计算字符的位置?

我在C中有strchr函数的示例代码。 /* strchr example */ #include #include int main () { char str[] = “This is a sample string”; char * pch; printf (“Looking for the ‘s’ character in \”%s\”…\n”,str); pch=strchr(str,’s’); while (pch!=NULL) { printf (“found at %d\n”,pch-str+1); pch=strchr(pch+1,’s’); } return 0; } 问题是,我不明白,这个程序如何计算外观字符的位置。 我认为它与“pch”和“str”的指针有关,但这是如何工作的? 如果有人可以更详细地解释这一点,那就太棒了。 谢谢,eljobso

高效的memcspn

有谁知道memcspn函数的有效实现? 它应该像strcspn一样,但在内存缓冲区中查找span,而不是在以null结尾的字符串中查找。 目标编译器是visualC ++。 谢谢,卢卡

从C代码库中对C ++中的unsigned char *进行strchr的微创改变?

我正在尝试将C代码库编译为C ++,调整一些包含。 它在unsigned char指针上使用strchr() ,例如: #include #include // Cannot modify this file with any non-C-isms, but let’s say an include can // be changed (although all things being equal I’d rather not) #include int main(int argc, char* argv[]) { unsigned char b = ‘B’; unsigned char const * str = “ABC”; unsigned char const * […]

当给定`const char *`作为第一个参数时,C标准库函数`strchr`如何返回指向非const的指针?

使用gcc / g ++编译给定代码示例成功。 strchr调用没有错误,这显然将const char *赋予char * 。 我发现strchr在两个不同的源pubs.opengroup.org和cplusplus.com上声明为char * strchr(const char *, int) 如果strchr被实现为抛弃strchr ,那为什么会这样呢? 如果目标是提供对char *和const char *字符串都有效的函数 – 它可以使用两个不同的函数名实现。 你能否对此作出更全面的解释? #include int main () { const char *str = “Sample string”; char * ptr; //ptr = str; // Error: discards const qualifier – both on gcc and g++ pch = strchr(str,’S’); […]

如何在C中找到字符串中字符的索引?

假设我有一个字符串”qwerty” ,我希望在其中找到e字符的索引位置。 (在这种情况下,索引将是2 ) 我怎么用C做? 我找到了strchr函数,但它返回一个指向字符而不是索引的指针。

strchr实现如何工作

我试着编写自己的strchr()方法实现。 它现在看起来像这样: char *mystrchr(const char *s, int c) { while (*s != (char) c) { if (!*s++) { return NULL; } } return (char *)s; } 最后一行原来是 return s; 但这不起作用,因为s是const。 我发现需要这个演员(char *),但老实说我不知道​​我在那里做什么:(有人可以解释一下吗?