Linux C---ファイル操作(fopen、fwrite、freadなど)の権限の問題

1664 ワード

C言語でファイルを操作するにはファイルを開く必要があります.ファイルを開くには主にfopen関数に関連します.
fopen関数のプロトタイプは次のとおりです.
FILE* fopen(const char *path,const char *mode)

ここでpathはファイルパス、modeは開き方1)ファイルパスについては、絶対パスが明確に与えられていない場合、デフォルトではプロジェクトのディレクトリの下にあることに注意してください.絶対パスを指定する必要がある場合は、ファイルtestなどのエスケープ文字''に注意してください.txtはCディスクルートディレクトリに格納、ファイルパスパラメータ値はC:\testとする.txt.
2)modeについては,主にr,w,a,+,b,tの6文字を組み合わせたものである.r:読み取り専用方式、ファイルは存在しなければならないw:書き込み専用方式、ファイルが存在すると元の内容が消去される.ファイルが存在しない場合、ファイルaが確立される:追加方式で書き込み専用ファイルが開き、書き込み操作のみが許可され、ファイルが存在する場合、追加された内容はファイルの末尾に置かれる.存在しない場合は、ファイル+:読み取り可能書き込み可能b:ファイルtをバイナリで開く:ファイルをテキストで開く(デフォルトではファイルをテキストで開く)
以下は一般的な組み合わせです:r:読み取り専用でファイルを開き、読み取りのみが許可されます.このファイルは存在しなければなりません.そうしないと、NULLに戻ります.開け成功したらファイルポインタに戻ります.位置ポインタはファイルヘッダr+を指します.読み書き可能でファイルを開きます.このファイルは存在しなければなりません.そうしないと、NULLに戻ります.開け成功したらファイルポインタに戻ります.位置ポインタはファイルヘッダrb+を指します:読み書き可能、バイナリ方式でファイルを開き、読み書きを許可します.このファイルは必ず存在しなければなりません.そうしないと、NULLを返します.開けた後、ファイルポインタを返します.位置ポインタはファイルヘッダrt+を指します.読み書き可能、テキスト方式でファイルを開き、読み書きを許可します.このファイルは存在しなければなりません.そうしないと、NULLを返します.開くことに成功した後にファイルのポインタに戻って、位置のポインタはファイルの頭wを指します:書くだけの方式でファイルを開けて、書くだけを許可して、ファイルが存在するならば、ファイルの中に内容がクリアされます;ファイルが存在しない場合、ファイルを作成し、開くことに成功した後、ファイルポインタに戻り、位置ポインタはファイルヘッダw+:読み書きでファイルを開き、読み書きを許可し、ファイルが存在する場合、ファイルの中に内容が消去される.ファイルが存在しない場合は、ファイルを作成し、開くことに成功した後にファイルポインタに戻り、位置ポインタはファイルヘッダaを指し、追加、書き込みのみでファイルを開き、書き込みのみを許可する.ファイルが存在する場合、追加の内容はファイルの最後に追加され、ファイルが存在しない場合はファイルが作成されます.オープンに成功したらファイルポインタに戻り、位置ポインタがファイルヘッダを指します(多くの本や資料で説明されている追加方式でオープンに成功した後、位置ポインタがファイルの末尾を指すのは間違っています)a+:追加、読み書き可能な方法でファイルを開き、読み書きが許可されます.読み取り操作を行うと、最初から読み始める.書き込みを行うと、最後にコンテンツが追加されます.ファイルが存在しない場合は、ファイルを作成します.正常に開いたらファイルポインタに戻り、位置ポインタがファイルヘッダを指します.