gpt4 book ai didi

c++ - 连接多个字符

转载 作者:行者123 更新时间:2023-11-28 07:04:06 26 4
gpt4 key购买 nike

我正在读取一个文件,我想提取它的所有内容并将它们存储到 C++ 中的单个字符中。我知道它可以用字符串来完成,但是我不能使用字符串,而是需要求助于 char。我可以将多个字符连接到一个字符变量吗?

到目前为止,这是我尝试过的:

 string str = "";
ifstream file("c:/path.....");
while (file.good())
{
str += file.get();
}
const char* content = str.c_str();
printf("%c", *content);

但这只是给了我文件的第一个字母,仅此而已。

如果也尝试过:

 ifstream file("c:/path.....");
char c = ' ';
char result[100];
while (file.good())
{
c= file.get();
strcat(result,c);
}

但这一直给我带来运行时错误。

最佳答案

对于您在问题中给出的第二次尝试(我从您的其他提示中猜想,这就是您最终想要的),您可以尝试以下快速修复:

 ifstream file("c:/path.....");
char c[2] = { 0, 0 };
char result[100] = { 0 };
for (int i = 0; file && (i < 99); ++i)
{
c[0] = file.get();
strcat(result,c);
}

由于使用 strcat() 对于这个用例可能不是很有效,我认为更好的实现是直接写入 result 缓冲区:

 ifstream file("c:/path.....");
char result[100] = { 0 };
for (int i = 0; file && (i < 99); ++i)
{
result[i] = file.get();
}

关于c++ - 连接多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22024728/

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