gpt4 book ai didi

C 替换字符数组中的字符

转载 作者:太空狗 更新时间:2023-10-29 15:52:41 26 4
gpt4 key购买 nike

伙计们,需要搜索字符数组并分别用“%2B”、“%2F”和“%2F”替换任何出现的“+”、“/”或“=”

base64输出变量看起来像

FtCPpza+Z0FASDFvfgtoCZg5zRI=

代码

char *signature = replace_char(base64output, "+", "%2B");
signature = replace_char(signature, "/", "%2F");
signature = replace_char(signature, "=", "%3B");

char replace_char (char *s, char find, char replace) {
while (*s != 0) {
if (*s == find)
*s = replace;
s++;
}
return s;
}

(错误输出)

   s.c:266: warning: initialization makes pointer from integer without a cast

我做错了什么?谢谢!

最佳答案

如果问题是您的签名变量中有垃圾:

void replace_char(...)signature = replace_char(...) 不兼容

编辑:

哦,我没看到...这是行不通的,因为您试图用没有任何内存分配的字符数组替换一个字符。

您需要分配一个足够大的新内存块 (malloc) 来容纳新字符串,然后将源“s”复制到目标,在需要时用“replace”替换“c”。

原型(prototype)应该是:char *replace_char(char *s, char c, char *replace);

关于C 替换字符数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16573206/

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