gpt4 book ai didi

c - C语言查找字符串中的字符

转载 作者:太空狗 更新时间:2023-10-29 16:57:30 26 4
gpt4 key购买 nike

我正在使用以下代码搜索字符串中第一次出现的字符。但是当角色太长或者我的角色时需要一些时间搜索范围很远,这会延迟其他操作。我该如何解决这个问题。代码在下面。

注意:attrPtr 是一个 char *,它包含对包含 '"' 字符的字符串的引用。

int position = 0;

char qolon = '"';//character to search

while (*(attrPtr + position++) != qolon);

char* attrValue = NULL;

attrValue = (char*)malloc(position * sizeof(char));

strncpy(attrValue, attrPtr, position-1);

最佳答案

strchr通常会快一些。此外,您需要检查 NUL 终止符,strchr 将为您处理。

char *quotPtr = strchr(attrPtr, qolon);
if(quotPtr == NULL)
{
... // Handle error
}
int position = quotPtr - attrPtr;
char* attrValue = (char*) malloc((position + 1) * sizeof(char));
memcpy(attrValue, attrPtr, position);
attrValue[position] = '\0';

不过我还没有测试过。

编辑:逐一修复。

关于c - C语言查找字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2963394/

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