c - 如何在 C 中的 char* 字符串末尾粘贴 null

标签 c

char* s = (char*)malloc(5);

向字符串添加可变字节数(数字)的一些处理。例如 *s = 50;

我现在需要以 null 终止字符串。这有效。

*(s+1) = 0;

但是有没有更优雅的方式呢?

根据评论,这看起来像是这样做的方法

char* getvalue(char* str) {
   while((*str++ = getnextchar()) != 'H')
      ;

   *str = '\0'; /* null terminate */

   return str;
}

最佳答案

使用calloc而不是malloc。这会将内存设置为零。

关于c - 如何在 C 中的 char* 字符串末尾粘贴 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11486533/

相关文章:

c - 在 ubuntu for arm 上编译 TCC 的问题

c - 如何用特定值填充非紧凑结构的所有填充字节?

c - 使用 GoogleTest 访问项目中包含的 jpg 文件的最佳方式是什么?

c - 如何从汇编中调用用 C 编写的代码?

c - 数字列表框

c - 多线程C程序中串口的调度和访问控制

c - 如何安装信号处理程序名称 sig_handler

c++ - 使用 WINAPI 的复杂库依赖项目中未解析的外部符号

ruby-on-rails - Rails 运行程序出现段错误 (Rails 4.0.0 Ruby 2.2.2p95 CentOS7)

c - 通过函数 : FILE* or FILE**? 的 FILE* 数组