当前位置:  开发笔记 > 编程语言 > 正文

尝试从getline分配字符时出现细分错误

如何解决《尝试从getline分配字符时出现细分错误》经验,为你挑选了1个好方法。

所以,我正在使用getline(cin, str);当时的句子,然后string text[str.length()];在for语句中,当我想要组合它们时(text[e] = text[e] + str[i];)我得到了分段错误.完整代码:

#include 
#include 
#include 

using namespace std;

int main()
{
    string str;
    int i, e, space = 0;

    getline(cin, str);
    string text[str.length()];

    for(i=0; i

hmjd.. 5

e是单元化的,它将保持一个随机值,可能超出text导致分段错误的范围.这不会将所有变量初始化为零:

int i, e, space = 0;

space初始化为零.改成:

int i = 0, e = 0, space = 0;

要么:

int i = 0;
int e = 0;
int space = 0;

据我所知,c ++不支持可变长度数组.



1> hmjd..:

e是单元化的,它将保持一个随机值,可能超出text导致分段错误的范围.这不会将所有变量初始化为零:

int i, e, space = 0;

space初始化为零.改成:

int i = 0, e = 0, space = 0;

要么:

int i = 0;
int e = 0;
int space = 0;

据我所知,c ++不支持可变长度数组.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有