gpt4 book ai didi

C++ 文件到 fstream?

转载 作者:搜寻专家 更新时间:2023-10-31 01:19:08 24 4
gpt4 key购买 nike

我不是这方面的专家,但我有这段代码:

FILE *OUTPUT_FILE;

OUTPUT_FILE = fopen(file, "a+");

fprintf(OUTPUT_FILE, "%s", &keys );

fclose(OUTPUT_FILE);

我想将它传递给 fstream 语法

喜欢

ofstream fs;

????

它们包含在这个函数中:

int Store(int keys, char *file)

我知道这是一个 C 函数,但由于我正在学习 C++,所以我想知道如何将其转换为 C++

抱歉,我不知道还有什么或者 fs 是否与 fopen 兼容。

更多信息:

谢谢大家,但它似乎忽略了一些值(value)

    int Store(int keys, char *file)
{


ofstream output_file("log.txt");
output_file << keys;
output_file.close();

cout << keys;

return 0;
}

当它输出文件时,我只看到一个 D 我可以在控制台上看到键的十六进制值,但没有打印在文本上....

最佳答案

首先,ALL_CAPS 通常应为宏保留——将它用于包含 FILE * 的普通变量通常不是一个好主意。

就剩下的而言,它看起来像这样:

std::fstream output_file(file, std::fstream::in | std::fstream::out | std::fstream::app);
output_file << keys;

不过这可能有点不对——现在你的函数原型(prototype)说 keys 是一个 int,但你将它传递给 fprintf 使用 %s 格式,这是一个字符串,而不是一个 int。照原样,代码会产生未定义的行为,并且它不能完全确定您真正想要的是什么。我做了一个我认为合理的猜测,但我不太确定。

编辑:如果你试图写出 keys 的原始字节,它看起来像这样:

output_file.write(reinterpret_cast<char *>(&keys), sizeof(keys));

感谢@ildjarn 的建议。

关于C++ 文件到 fstream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462251/

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