-1

ファイルの最大サイズを 100 バイトに設定する方法を教えてください。100 バイトを超えるデータを書き込もうとすると、ntwritefile()エラーがスローされますERROR_NOT_ENOUGH_MEMORY

ファイルに100バイト(または固定サイズ)を設定するwidnows APIを提案していただけますか?

私たちの製品では、ntwritefile() はエラー ERROR_NOT_ENOUGH_MEMORY で失敗します。どのようなシナリオで、そのエラーが発生するかを理解しようとしています。

4

6 に答える 6

1

Windowsでは、これは次のようになります。

  1. CreateFile
  2. WriteFile

それでおしまい。

于 2012-05-23T07:15:45.677 に答える
1

サイズが 100 文字のバッファーを作成し、使用が終了したらバッファーをファイルに書き込むことができます。

#include <stdio.h>
#include <memory.h>


int main(int argc, char* argv[])
{
    char buffer[100];

    //assign values
    memset(buffer, 'A', 100);
    buffer[5]='@';

    FILE * pFile;
    pFile = fopen ( "buffer.100" , "wb" );
    fwrite (buffer, 1, sizeof(buffer) , pFile );
    fclose (pFile);

    return 0;
}
于 2012-05-23T07:22:19.433 に答える
0

申し訳ありませんが、このためのバッファは必要ありません。ファイルサイズより大きいファイルのメモリマップオブジェクトを作成すると、システムは自動的にファイルをそのサイズに拡張します。

ただし、100バイトの場合は、100バイトのダミーchar配列を作成し、それをファイルに書き込むだけです。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366542(v=vs.85).aspxを参照して ください。

于 2012-12-09T09:16:29.783 に答える
0

100 バイトのファイルを作成しますか? または、ファイルのサイズを 100 バイトに制限して、ファイルが 100 バイトを超えるとファイルへのそれ以上の書き込みが機能しないようにしますか?

最初に使用する場合は、バッファ サイズを 100 バイトに制限してCreateFile使用できます。WriteFile

2番目の場合..その可能性はないと思います...

于 2012-05-23T07:21:08.907 に答える