为什么将字符分配给C ++字符串会导致字符串长度为0?

用户名

我将一个字符串中的字符手动分配给另一个字符串数组。但是,为什么它导致长度为0并且不能直接打印?尽管字符串中的字符可以通过迭代来打印。

代码:

#include <iostream>
#include <string.h>
using namespace std;

int main() {

    string domain[100],text="google";
    for(int i=0;i<6;i++){
        domain[0][i] = text[i];
    }
    for(int k=0;k<6;k++){
        cout<<domain[0][k];
    }
    cout<<endl;
    cout<<"String length: "<<domain[0].length()<<endl;
    cout<<"Output string directly from array : "<<domain[0]<<endl;
    return 0;
}

输出 :

google
String length: 0
Output string directly from array : 
Estiny

通过写

 string domain[100]

您创建了一个包含100个空字符串的数组,然后尝试使用[]运算符访问字符串字符,但是该字符串没有字符,因此设置它们将不起作用。您甚至都不应该尝试以这种方式访问​​它们。它导致未定义的行为。

编辑。

在这一行:

domain[0][i] = text[i];

您尝试设置第一个字符串的第i个字符。但是这个字符串有几个字符?没有任何。

就像您尝试执行以下操作一样:

domain[0] = "abc";

然后您可以访问,domain[0][0]domain[0][3]由于只有3个字符而无法访问尝试将其视为数组。如果数组只有5个元素,则不能设置第10个元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么将整数分配给字符串会导致空格?

来自分类Dev

将字符串的长度分配给整数:C ++

来自分类Dev

使用StringBuilder生成随机字符串会导致长度小于预定义长度的字符串

来自分类Dev

字符串长度始终为 0

来自分类Dev

为什么将整数添加到字符串会导致字符串?

来自分类Dev

为什么可以将字符串分配给 Array<string>

来自分类Dev

为什么将核心字符串对象分配给自定义字符串类参考

来自分类Dev

C ++将char **分配给字符串数组

来自分类Dev

C-如何将内存分配给可变长度的字符串输入?

来自分类Dev

为什么从日期字符串到返回字符串会导致两个不同的字符串?

来自分类Dev

交换字符串会导致分配临时字符串吗?

来自分类Dev

将可变长度字符串分配给固定长度字符串

来自分类Dev

为什么在将正则表达式字符串分配给变量时出错?

来自分类Dev

for循环中的c ++字符串使长度为0

来自分类Dev

将C字符串分配给字符ponter-C ++程序崩溃

来自分类Dev

将字符串文字分配给非const指针时,为什么我的C编译器没有警告?

来自分类Dev

在C语言中,为什么在声明字符串后不能将其分配给char数组?

来自分类Dev

为什么在c ++中尝试在Visual Studio中将字符串分配给istringstream对象时出现错误?

来自分类Dev

C++ 无法将字符数组变量分配给字符串变量

来自分类Dev

发布空正文(长度为 0 的字符串)

来自分类Dev

使用掩码替换numpy数组中的字符串会导致字符串被截断

来自分类Dev

为什么不能将字符串变量分配给 json::value 对象?

来自分类Dev

将字符串数组分配给char **

来自分类Dev

将字符串文字分配给char *

来自分类Dev

将字符串数组分配给char **

来自分类Dev

将char *分配给字符串而不复制

来自分类Dev

将内存分配给字符串数组

来自分类Dev

将空字符串分配给php变量

来自分类Dev

将整数值分配给字符串

Related 相关文章

  1. 1

    为什么将整数分配给字符串会导致空格?

  2. 2

    将字符串的长度分配给整数:C ++

  3. 3

    使用StringBuilder生成随机字符串会导致长度小于预定义长度的字符串

  4. 4

    字符串长度始终为 0

  5. 5

    为什么将整数添加到字符串会导致字符串?

  6. 6

    为什么可以将字符串分配给 Array<string>

  7. 7

    为什么将核心字符串对象分配给自定义字符串类参考

  8. 8

    C ++将char **分配给字符串数组

  9. 9

    C-如何将内存分配给可变长度的字符串输入?

  10. 10

    为什么从日期字符串到返回字符串会导致两个不同的字符串?

  11. 11

    交换字符串会导致分配临时字符串吗?

  12. 12

    将可变长度字符串分配给固定长度字符串

  13. 13

    为什么在将正则表达式字符串分配给变量时出错?

  14. 14

    for循环中的c ++字符串使长度为0

  15. 15

    将C字符串分配给字符ponter-C ++程序崩溃

  16. 16

    将字符串文字分配给非const指针时,为什么我的C编译器没有警告?

  17. 17

    在C语言中,为什么在声明字符串后不能将其分配给char数组?

  18. 18

    为什么在c ++中尝试在Visual Studio中将字符串分配给istringstream对象时出现错误?

  19. 19

    C++ 无法将字符数组变量分配给字符串变量

  20. 20

    发布空正文(长度为 0 的字符串)

  21. 21

    使用掩码替换numpy数组中的字符串会导致字符串被截断

  22. 22

    为什么不能将字符串变量分配给 json::value 对象?

  23. 23

    将字符串数组分配给char **

  24. 24

    将字符串文字分配给char *

  25. 25

    将字符串数组分配给char **

  26. 26

    将char *分配给字符串而不复制

  27. 27

    将内存分配给字符串数组

  28. 28

    将空字符串分配给php变量

  29. 29

    将整数值分配给字符串

热门标签

归档