gpt4 book ai didi

C++如何正确计算const char中的字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:07:35 25 4
gpt4 key购买 nike

我有一个 const char,它是由这样的连接组成的:

const char *fileName = "background1";

std::stringstream sstm;
sstm << fileName << "-hd.png";
fileName = sstm.str().c_str();

我的问题是以下指令:

printf("const char = %s size = %d", fileName, sizeof(fileName));

返回:

"const char = background1-hd.png size = 4"

而我希望它返回:

"const char = background1-hd.png size = 19"

例如,下面给出了方便的结果(因为没有串联):

const char *fileName2 = "background1-hd";
printf("const char = %s size = %d", fileName2, sizeof(fileName2));

返回:

"const char = background1-hd.png size = 19"

如何避免这个问题并保证字符在我的连接字符中被正确计数?

谢谢!!

最佳答案

sizeof() 返回变量在内存中占用的字节数(在本例中返回指针 fileName 的大小)。

strlen() 返回字符串的长度(这是您需要的)。

你也可以尝试这样的事情:

#include <iostream>
#include <cstdio>

int main()
{
std::string fileName("background1");
fileName.append("-hd.png");
printf("const char = %s size = %d", fileName.c_str(), fileName.length());

return 0;
}

关于C++如何正确计算const char中的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com