首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可可代码-如何在按下下一页按钮后,在一页中打印1024字节的文件,并在下一页中打印1024字节?

可可代码-如何在按下下一页按钮后,在一页中打印1024字节的文件,并在下一页中打印1024字节?
EN

Stack Overflow用户
提问于 2013-07-23 13:05:58
回答 1查看 210关注 0票数 0

可可代码-由于我是一个新手,请告诉我如何打印1024字节的文件在一页和下一页1024字节,当我按下下一页按钮?这就是我的代码现在的样子:

//打印前1024个字节,前一个禁用。

代码语言:javascript
复制
fileHandle= [NSFileHandle fileHandleForReadingAtPath: fileName];
string=[[NSMutableString alloc]init];
fileData= [fileHandle readDataOfLength: 1024];
[fileData getBytes: buf length: 1024];
[fileHandle seekToFileOffset: currentOffset];
}
for(i=0; i<=1023;i++)
{
    [string appendFormat: @"%02hhx ", buf[i]];
    //NSLog(@"Hex Values are:%x", string);
    [textview setString: string];


    [prevButton setEnabled: NO];
    [nextButton setEnabled: YES];
}

//按下一步按钮后显示下一个1024字节。

代码语言:javascript
复制
-(IBAction) next: (id) sender
{
buf[i]= 0;
[textview setString:@""];
[prevButton setEnabled: YES];
   currentOffset+= 1023;
  [fileHandle seekToFileOffset: currentOffset];
  fileData= [fileHandle readDataOfLength: 1024];
  [fileData getBytes: buf length:1024];

  for(i=0; i<=1023;i++)
  {
      [string appendFormat:@"%02hhx ", buf[i]];
     //string=  [NSString stringWithFormat: @"%02hhx ", buf[i]];
      NSLog(@"Next Hex Values are:%x", string);
     [textview setString: string];
    }
}   

它显示从第0到2046个字节。所以请告诉我,当我按下next按钮时,如何从1025字节打印到2046字节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 13:52:53

每次调用next方法都会将十六进制输出附加到实例变量(?) string。您必须从next方法中的空字符串开始。任一呼叫

代码语言:javascript
复制
[string setString:@""];

next的开头,或者将实例变量替换为局部变量

代码语言:javascript
复制
NSMutableString *string = [[NSMutableString alloc]init];

next方法中。

此外,正如trojanfoe正确评论的那样,您不应该调用

代码语言:javascript
复制
[textview setString: string];

在for循环中调用1024次,但在循环之后调用一次。

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

https://stackoverflow.com/questions/17801857

复制
相关文章

相似问题

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