ai didi

C++ char[100] = "hello"不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 16:03:39 24 4
gpt4 key购买 nike

是否有以下代码的更好、更短、更易于阅读的版本:

char ar[100];

int main() {
//ar = "hello"; doesn't compile
ar[0] = 'h';
ar[1] = 'e';
ar[2] = 'l';
ar[3] = 'l';
ar[4] = 'o';
ar[5] = '\x00';
return 0;
}

注意:ar 的类型必须是char[100]。“真正的”程序是:

#include <string>
#include <cstdarg>

#define TO_STRING_BUF_SIZE 100

char toStringBuf[TO_STRING_BUF_SIZE];

std::string toCptr_(const char * format, ...) {
va_list argzeiger;
va_start(argzeiger, format);
int16_t ret = vsnprintf(toStringBuf, TO_STRING_BUF_SIZE, format, argzeiger);
if(ret >= TO_STRING_BUF_SIZE - 1) {
//toStringBuf = "buffer too small";
} else if(ret < 0) {
//toStringBuf = "encoding error";
}
va_end(argzeiger);
std::string returning(toStringBuf);
return returning;
}

最佳答案

使用 strcpy 函数复制 C 风格的字符串。

strcpy(ar, "hello");

关于C++ char[100] = "hello"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39256416/

24 4 0
文章推荐: JavaScript HTML - 用户选择时出现的额外必填表单字段
文章推荐: html - 具有 100vh 但保持宽高比的图像
文章推荐: html - Materialise css 中的浏览器默认文本框
文章推荐: javascript - hr在移动端div后面
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com