gpt4 book ai didi

c++ - 如何在 C++ 中传递和检索 char 数组

转载 作者:行者123 更新时间:2023-11-28 01:25:53 25 4
gpt4 key购买 nike

我正在尝试将字符数组传递给函数。将值设置到字符数组中。然后检索它并使用另一个函数打印。但无法得到结果。这是代码

class cSummary{
private:
char *cSummaryTable[2];
public:
void printSummary();
void setSummary(char *ptr, int stage);
char *getSummary();
};
void cSummary::printSummary(){
char *cPtr = getSummary();
for(int i = 0; i < 2; i++){
cout << cPtr[i] << endl;
}
}
void cSummary::setSummary(char ptr[], int stage){
switch(stage){
case 0:
cSummaryTable[0] = ptr;
break;
case 1:
cSummaryTable[1] = ptr;
break;
}
}
char *cSummary::getSummary(){
return *cSummaryTable;
}
int main(int argc, char const *argv[])
{
cSummary summary;

summary.setSummary("first message!", 0);
summary.setSummary("second message!!", 1);

summary.printSummary();

return 0;
}

最佳答案

getSummary 是问题所在,因为它只返回第一个字符串。注意getSummarysetSummary之间的不对称,setSummary有一个stage参数,但是中没有这个参数获取摘要。那应该是出事的线索。我会像这样重新编码

char *cSummary::getSummary(int stage) {
return cSummaryTable[stage];
}

void cSummary::printSummary() {
for(int i = 0; i < 2; i++){
cout << getSummary(i) << endl;
}
}

我将添加强制性的好建议。你应该学习现代 C++ 编程,它不使用数组和指针,而是使用更安全、更容易理解的 std::stringstd::vector .

关于c++ - 如何在 C++ 中传递和检索 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53894046/

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