当前位置:  开发笔记 > 程序员 > 正文

如何在C中的char数组中添加char/int?

如何解决《如何在C中的char数组中添加char/int?》经验,为你挑选了1个好方法。

我怎样才能添加'.' to char:= C中的"Hello World",所以我得到一个char数组:"Hello World".这个问题似乎很简单,但我很挣扎.

尝试以下方法:

char str[1024];
char tmp = '.';

strcat(str, tmp);

但它不起作用.它向我显示了错误:"传递'strcat'的参数2使得整数指针没有强制转换"我知道在C中char可以转换为int.我是否必须将tmp转换为char数组,还是有更好的解决方案?



1> Fantastic Mr..:

strcat 有声明:

char *strcat(char *dest, const char *src)

它需要2个字符串.虽然这编译:

char str[1024] = "Hello World";
char tmp = '.';

strcat(str, tmp);

它会导致错误的内存问题,因为strcat它正在寻找一个空终止的cstring.你可以这样做:

char str[1024] = "Hello World";
char tmp[2] = ".";

strcat(str, tmp);

实例.

如果你真的想追加一个字符,你需要自己创建一个函数.像这样的东西:

void append(char* s, char c) {
        int len = strlen(s);
        s[len] = c;
        s[len+1] = '\0';
}

append(str, tmp)

当然,您可能还需要检查字符串大小等,以确保内存安全.


我删除了我的答案并支持你的答案,你解释得更好
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有