gpt4 book ai didi

c++ - 将字符串的子字符串设置为 vector 的 char 元素时的 EXC_BAD_ACCESS (C++)

转载 作者:行者123 更新时间:2023-11-30 00:40:06 25 4
gpt4 key购买 nike

我正在尝试制作 vector 扩展标题。其中一个函数将 vector 设置为控制台输入 (cin)。它使用以下代码:

vector<char> cveccin(){
string cinval;
cin>>cinval;
vector<char> creader;
for (int i=0; i<cinval.size(); i++) {
creader[i]=cinval[i];
}
return creader;
}

我在测试中使用了这个函数,它给了我 EXC_BAD_ACCESS。这里出了什么问题?

最佳答案

问题是你的 vector 大小为零,使用 [] 不会让它变大。

有一个单行代码可以满足您的需求。

vector<char> cveccin()
{
string cinval;
cin >> cinval;
return vector<char>(cinval.begin(), cinval.end());
}

该代码创建了大小合适的 vector ,将 cinval 字符串复制到它,并从函数中返回它,所有这些都在一行中完成。 C++ 是不是很棒!

关于c++ - 将字符串的子字符串设置为 vector 的 char 元素时的 EXC_BAD_ACCESS (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973715/

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