【问题标题】:C++ Looping and Increments [closed]C ++循环和增量[关闭]
【发布时间】:2014-05-23 18:31:38
【问题描述】:

我试图将我的数据分成 256 字节的块,但是当我的循环运行时,它的大小似乎翻了一番。所以它从 256 开始,然后是 512,然后是 1024、2048、4096 等;而不是 256 的多个块。

        while (Start < dwFileSize)
        {
            Finish += Start + (256);

            if (Finish > dwFileSize) Finish = dwFileSize;

            WriteChunk(szFilename, ZipID, &lpFileBuffer[Start], Finish-Start);

            ZipID++;
            Start = Finish;
        }

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 那是因为Finish += Start + (256);。应该是=
  • 这一行Finish += Start + (256); 每次迭代都将256 添加到Finish

标签: c++ loops increment


【解决方案1】:

试试……

    while (Start < dwFileSize)
    {
        Finish = min(Start + 256, dwFileSize);

        WriteChunk(szFilename, ZipID, &lpFileBuffer[Start], Finish-Start);

        ZipID++;
        Start += 256;
    }

【讨论】:

    猜你喜欢
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多