for循环增量问题

缭绕飘渺 2012-11-05 11:32:15
一个最大值,每次递增的值是固定的,那么请路过的说说这个for循环如何处理才能方便的获取到最后不够增量的那一部分的数据
例子
最大值为5200,每次递增为1024,那么for循环的话怎么获取到4096到最大值的部分
for(int i = 0; i < 5200; i += 1024)
{
//根据i的位置去文件位置获取数据
}
请问这个怎么处理比较合适?
...全文
358 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hauk 2012-11-05
  • 打赏
  • 举报
回复
或者

if(5200 - i > 0)//说明有剩余
{
  //i-->end  or i to 5200 - i
}
Hauk 2012-11-05
  • 打赏
  • 举报
回复
引用 5 楼 mervyn807 的回复:
业务就是获取文件的长度,但是设备每次的取值都是固定的1024字节 所以需要根据文件长度获取整个文件内容,内容是设备自身存贮的,我需要复制出来存到电脑上 文件的长度不会刚好是1024的整数倍,所以每次可能都剩点 想问的就是怎么方便的获取到最后不够循环加1024那部分的数据

int i = 0;
for(; i < 5200; i += 1024)
{
  //根据i的位置去文件位置获取数据
}

if(5200 % 1024 != 0)//说明有剩余
{
  //i-->end  or i to 5200 % 1024
}
缭绕飘渺 2012-11-05
  • 打赏
  • 举报
回复
多谢各位 了解了 哈哈
缭绕飘渺 2012-11-05
  • 打赏
  • 举报
回复
业务就是获取文件的长度,但是设备每次的取值都是固定的1024字节 所以需要根据文件长度获取整个文件内容,内容是设备自身存贮的,我需要复制出来存到电脑上 文件的长度不会刚好是1024的整数倍,所以每次可能都剩点 想问的就是怎么方便的获取到最后不够循环加1024那部分的数据
lhx527099095 2012-11-05
  • 打赏
  • 举报
回复
变量定义在外面就可以了吧
Hauk 2012-11-05
  • 打赏
  • 举报
回复
5200%1024=80 就是最终剩下的 5200-i 就是当前剩下的 不太清楚你的业务
bdmh 2012-11-05
  • 打赏
  • 举报
回复
增加一个变量,记录剩下多少 或者判断 5200/1024是否为0,如果为0,标识不够1024
cheng2005 2012-11-05
  • 打赏
  • 举报
回复
把i定义在for循环的外面最合理。 int i=0; for(; i < 5200; i += 1024) { //根据i的位置去文件位置获取数据 }

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧