gpt4 book ai didi

C++ 赋值,strcpy 和 strlen 与字符数组 n 指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:57 26 4
gpt4 key购买 nike

我正在做这个作业,遇到了一个问题。有一次,我必须向用户询问两个输入命令以备后用,我希望将它们放入一个字符数组中。然后我想将他们的输入放入 char* 但我最终遇到了段错误

这是我的一小部分代码,显示了我遇到问题的地方:

#include <iostream>
#include <cstring>
using namespace std;

int main(){

char firstAns[80];
char * command1[5];
int ansLen;

//Ask for command
cout << "Please enter your first command(incl. args) or quit: ";
cin >> firstAns;

ansLen = strlen(firstAns);
for(int i=0; i < ansLen; i++){
strcpy(command1[i], firstAns);
}

我运行它的程序编译得很好,但我已经将段错误缩小到程序的这一部分,作为新手程序员可以使用一些帮助:)

最佳答案

你有一个名为 command 的 char* 数组。但是你没有为数组中的指针分配任何内存,甚至没有将它们设置为空。所以它们是随机值,指向随机内存位置。然后,Strcpy 会覆盖这些随机位置,从而导致段错误。您需要先通过 command[i]=new char[80] 在所有 5 行上为这些指针分配内存。

关于C++ 赋值,strcpy 和 strlen 与字符数组 n 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16051136/

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