首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS:使用Poco::BinaryReader & Poco::BinaryWriter的示例

iOS:使用Poco::BinaryReader & Poco::BinaryWriter的示例
EN

Stack Overflow用户
提问于 2012-06-07 14:33:36
回答 1查看 2K关注 0票数 0

谁能给我展示一下在iOS 5.x -> Objective-C++上使用Poco::BinaryReaderPoco::BinaryWriter以及二进制流的例子?

昨天我发了一个关于"How to create and use C++ classes“的问题,但它没有回答我上面的问题。

Poco社区论坛和OpenFrameworks论坛看起来像死了,所以我在这里。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-07 17:24:05

好吧,没人愿意帮忙。

我是在上帝的帮助下自己做的。

下载OpenFrameworks并配置到您的目标工程;

代码示例:

代码语言:javascript
复制
#import "AppDelegate.h"
#import "Poco/MemoryStream.h"
#import "Poco/BinaryWriter.h"
#import "Poco/BinaryReader.h"

@implementation AppDelegate{
    Poco::BinaryWriter *_myBinaryWriter;
    Poco::BinaryReader *_myBinaryReader;
}

@synthesize window = _window;

- (void)dealloc
{
    [_window release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    self.window.rootViewController = [[UIViewController new] autorelease];

    int bufferSize = 512;    
    char *_buffer = (char *)malloc(bufferSize);

    // >> WRITE BLOCK <<   
    Poco::MemoryOutputStream *outStream = new Poco::MemoryOutputStream(_buffer, bufferSize);

    _myBinaryWriter = new Poco::BinaryWriter(*outStream);
    (*_myBinaryWriter) << 1234567890;
    (*_myBinaryWriter) << (std::string)"some string";
    (*_myBinaryWriter) << 3.14f;
    delete(_myBinaryWriter);
    delete(outStream);

    // >> READ BLOCK <<   
    Poco::MemoryInputStream *inStream = new Poco::MemoryInputStream(_buffer, bufferSize);

    _myBinaryReader = new Poco::BinaryReader(*inStream);

    int i = 0;
    std::string s;
    float f = .0f;

    (*_myBinaryReader) >> i >> s >> f;
    delete(_myBinaryReader);
    delete(inStream);

    NSLog(@"ReadInt = '%i'", i);
    NSLog(@"ReadString = '%@'", [NSString stringWithUTF8String:s.c_str()]);
    NSLog(@"ReadFloat = '%f'", f);

    [self.window makeKeyAndVisible];
    return YES;
}

@end

我有美好的一天:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10926767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档