gpt4 book ai didi

objective-c - 从 fwrite 参数获取数据数组的内容 - 使用 Objective-C 打印数据

转载 作者:行者123 更新时间:2023-11-30 15:34:39 25 4
gpt4 key购买 nike

我有一些代码可以读取以下内容:

int SaveTemplateToFile(char* Name, FTR_DATA Template )
{
//NSLog(@"trying to save template to file");

FILE *fp;
fp = fopen( Name, "w+b");
if( fp == NULL ) return FALSE;

int Result = fwrite( Template.pData, 1, Template.dwSize, fp ) == Template.dwSize ? TRUE : FALSE;
fclose(fp);

return Result;
}

据我了解,这将从 Template.pData 检索到的数据写入一个文件,该文件的名称与存储在 Name 变量中的名称无关。.tmpl 的内容如下:

contents of template file

任务/问题:

我只是尝试将此数据存储到一个变量中,以便我可以将此数据发送到我的网络服务器数据库并将其存储在 blob 文件中以便稍后检索。这也将允许我摆脱我不需要的 fwrite 函数,因为我将所有内容存储到 sebserver 上而不是存储在本地。

我目前在读取此数据时遇到困难。我在尝试输出此数据数组时遇到崩溃,我还介绍了数据类型结构的样子:

enter image description here

其中 DGTVOIDtypedef void DGTVOID

如何正确读取模板内容?我在想如果我理解它是什么数据类型,那么我就能够正确检索数据。

更新 1

感谢 Paulw11,我能够使用 %s 而不是最初导致崩溃的 %@ 访问一小部分数据。这是现在打印的内容,一些时髦的颠倒问号:

enter image description here

有没有办法从 Template.pData 输出此数据流的内容,而不必先将数据作为文件保存到方向上?

最佳答案

我认为你应该做的第一件事是将缓冲区转换为 NSData 实例 -

NSData template = [NSData dataWithBytes:Template.pData length:Template.dwSize];

一旦获得,您就可以对数据进行 Base64 编码,以便通过 Web 请求进行传输 -

NSString *templateStr = [template base64EncodedStringWithOptions:0];

如果您的目标版本早于 iOS7,则可以使用已弃用的方法

NSString *templateStr = [template base64Encoding];

关于objective-c - 从 fwrite 参数获取数据数组的内容 - 使用 Objective-C 打印数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23203743/

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