我有一些代码可以读取:
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
内容的内容:
我只是想将这些数据存储到一个变量中,这样我就可以将这些数据发送到我的web服务器数据库并将其存储在一个blob文件中,以便以后检索。这也将允许我摆脱{I}我不需要的功能,因为我将所有内容存储到sebserver而不是在本地存储它。
我目前在查找此数据时遇到问题。我在尝试输出这个数据数组时遇到了崩溃,我还提出了数据类型结构的样子:
fwrite
属于DGTVOID
。
如何正确阅读模板的内容?我在想,如果我理解它是什么数据类型,那么我将能够正确地检索数据。
感谢Paulw11,我可以使用typedef void DGTVOID
代替最初导致崩溃的%s
来访问极小部分数据。以下是现在正在印刷的内容,一些时髦的颠倒问号:
有没有办法从%@
输出此数据流的内容,而不必先将数据作为文件保存到方向上?
答案 0 :(得分:1)
我认为您应该做的第一件事是将缓冲区转换为NSData实例 -
NSData template = [NSData dataWithBytes:Template.pData length:Template.dwSize];
一旦你有了,那么你可以通过网络请求对数据进行Base64编码以便传输 -
NSString *templateStr = [template base64EncodedStringWithOptions:0];
如果您定位的是早于iOS7的版本,则可以使用弃用的方法
NSString *templateStr = [template base64Encoding];