gpt4 book ai didi

c++ - 将char数组传递给函数C++

转载 作者:行者123 更新时间:2023-12-02 10:18:10 28 4
gpt4 key购买 nike

我的目标是接受一个字符数组,并用“视频”一词替换诸如“类”之类的特定词。但是,buf数组中的数据来自其中包含unicode的Web服务器,因此,据我所知,我不允许将char数组转换为字符串,因为它会弄乱其中的许多数据(我认为)。
所以,我的主要问题是,如何将buf作为参数传递给replaceWords函数。现在我看到一个错误,

error: incompatible types in assignment of ‘char*’ to ‘char [256]’


char buf[256];
buf = replaceWords(buf);

char * replaceWords(char* buf) {
char badWord1[] = "class";
char * occurrence = strstr(buf, badWord1);
strncpy(occurrence, "video", 5);
return buf;
}

最佳答案

看下面的代码:

#include <bits/stdc++.h>
using namespace std;

void replaceWords(char buf[]) {
char badWord1[] = "class";
char * occurrence = strstr(buf, badWord1);
strncpy(occurrence, "video", 5);

}

int main() {
char temp[5];
temp[0] = 'c';
temp[1] = 'l';
temp[2] = 'a';
temp[3] = 's';
temp[4] = 's';
replaceWords(temp);
cout << temp << endl;
return 0;
}

它会按您的预期工作。当您传递 char buf[]时,您正在传递对要修改的数组的引用。这样,您可以在函数中对其进行修改,并且它将在程序中的其他任何地方进行修改。无需进行其他分配。

关于c++ - 将char数组传递给函数C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61241389/

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