Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从IOS文件中读取整数_Ios_Objective C_File Io_Binary_Hex - Fatal编程技术网

从IOS文件中读取整数

从IOS文件中读取整数,ios,objective-c,file-io,binary,hex,Ios,Objective C,File Io,Binary,Hex,我有一个文件,在数据的第一个字节中包含一个数字。在这种情况下,数字是32。我使用了一个十六进制编辑器来确认(十六进制)值是“20”,等于十进制中的32 有人能告诉我如何从文件中读出它的正确方向吗。我试过6种不同的方法,但都失败了。很多不同的方法。这里有一个: NSData *data = [NSData dataWithContentsOfFile:filename]; if ([data length] > 0) { const uint8_t *bytes = (const u

我有一个文件,在数据的第一个字节中包含一个数字。在这种情况下,数字是32。我使用了一个十六进制编辑器来确认(十六进制)值是“20”,等于十进制中的32


有人能告诉我如何从文件中读出它的正确方向吗。我试过6种不同的方法,但都失败了。

很多不同的方法。这里有一个:

NSData *data = [NSData dataWithContentsOfFile:filename];
if ([data length] > 0)
{
    const uint8_t *bytes = (const uint8_t *)[data bytes];
    uint8_t byte = bytes[0];
    NSLog(@"%d", byte);
}
或其他:

NSInputStream *stream = [NSInputStream inputStreamWithFileAtPath:filename];
[stream open];
NSInteger bufferLen = 1;
uint8_t buffer[bufferLen];
NSInteger count = [stream read:buffer maxLength:bufferLen];
[stream close];
if (count > 0)
{
    NSLog(@"%d", buffer[0]);
}

你能总结一下你尝试了什么以及他们是如何失败的吗?同意。当它可能是一个简单的bug时,重复工作是没有意义的。不,不是真的。我需要一页又一页来总结我所做的一切。我在这个简单的问题上做了太多的工作。我尝试了这两种方法,上面的方法会导致编译器错误,下面的方法返回1而不是32…@Hoodai这两种方法都是从一个正在工作的测试项目中剪切和粘贴的,对我来说都很好,我从这两种方法中都得到了“32”(对于第一个字节为0x20的文件)。关于编译错误,如果你不告诉我错误是什么,在哪一行你得到了错误,我就帮不了你。在第二个例子中,我只能说,您通过应用程序打开的文件听起来不像包含您认为的内容。似乎难以置信的是,
count
大于零,但这并没有返回第一个字节。如果你把文件上传到某个地方,我很乐意看一看。@Hoodai-Hmm,我把它添加到我的项目中,效果很好(从两个代码片段中都得到了“32”)。如果它对你不起作用,我会尝试清理项目(或者,更好的是,删除应用程序并重新安装)并重建它。如果在Xcode IDE之外编辑/更改文件,有时Xcode会感到困惑。上面的模式并不少见,这是一个非常琐碎的编程问题,您的问题必须是一些奇怪的东西,比如需要从头开始重建的混乱项目。祝你好运。一开始我不知道我做错了什么,但我再试了一次,两次都成功了。不过,最上面的一台服务器会更好。非常感谢您的帮助@Hoodai我相信这只是Xcode变得混乱了。我自己在处理外部文件时偶尔也会遇到这个问题,而“清理”(或者最糟糕的是,删除应用程序并重新安装)通常会修复这个问题。很高兴你又做生意了!