【发布时间】:2018-11-04 20:36:52
【问题描述】:
我有一个与某个库集成的代码,我无法修改并从文件中读取。我需要把它变成从字符串而不是从文件中读取。
string str = "I now have the string from file.txt in memory";
// original code:
FILE *file = fopen("file.txt", "rb");
// ...
uint8_t buffer[128];
// ...
var->var1 = buffer;
// ...
var->var2 = fread(buffer, 1, 128, file);
// ...
那么一个简单的问题,fread 从字符串读取到缓冲区的替代方法是什么?
平台:Windows
【问题讨论】:
-
首先请选择一种语言:你是用C还是C++编程?它们都是非常不同的语言。其次,你在什么平台上?它会告诉我们有哪些选择。最后,也许你应该检查一下the
freadfunction 实际上返回了什么? -
@Someprogrammerdude 它返回什么没什么大不了的,我只需要一些东西来缓冲字符串,比如文件可以通过使用 fread
-
没有从字符串中读取流的等效函数。如果您的库使用
fread从文件中读取,那么备用函数将如何提供帮助?你需要模拟文件,而不是替换函数 -
当然,您可以将字符串放入文件并从那里读取。现在,为避免接触磁盘,您可以使用内存支持文件。
-
@Someprogrammerdude 哎呀,抱歉,修正了错字