-4

ファイルを読み書きするには、Unix 環境の C 言語でファイル ポインタが必要です。ファイル名とパスは知っていますが、その名前とパスを使用してファイル ポインターを取得する方法を教えてください。

4

4 に答える 4

3
#include <stdio.h>
FILE * pFile;
pFile = fopen ("myfile.txt","w");
于 2013-08-26T08:43:05.790 に答える
0

ssmithstone からの投稿によると:

#include <stdio.h>
FILE * pFile;
/* open file and check if was successful */ 
if ((pFile = fopen("myfile.txt", "w")) == NULL)
{
/* couldn't open file; do some error handling if u want */
}
else
{
/* do s.th. */
/* close file */
fclose(pFile);
}

この場合w、書くことを意味します。他のオプションについては、Yu Hao が投稿したリンクを確認してください。

于 2013-08-26T08:51:06.043 に答える
0

あなたは C プログラミングの初心者のようです。私はCあなたのためにプログラムを書きました。あなたはそれを分析することができます。きっとあなたにとって役立つと思います。

#define size 50
#include <stdio.h> 
int main() 
{ 
    char name[size]; 
    FILE *file;
    file = fopen("your_file.txt","w");
    printf("Please enter your first name\n");
    scanf("%s",name);
    fprintf(file,"%s",name);
    fclose(file); 
    return 0; 
}

詳細:

  • 7 行目では、2 番目のパラメーターwがファイル オープン モードとして使用されます (書き込み権限あり)。
  • ファイル ポインタは、「 your_file.txt 」という名前のファイルを作成/開くために使用されます。
  • functionfprintf()は function と同じprintf()ですが、コンソールではなくファイルに書き込みます。
  • 最後に、ファイル書き込み操作を閉じる必要があるため、fclose()関数を使用します

アップデート:

パスを指定するには、たとえば filename.fileextension を使用してファイル パスを記述できます。次のように記述できます。

file = fopen("/home/depthgr8/Desktop/your_file.txt","w"); 

これにより、パスが存在する場合、指定されたパスに your_file.txt が作成されます。それ以外の場合は、ランタイム例外がスローされます - セグメンテーション エラー (コア ダンプ)

于 2013-08-26T10:01:35.283 に答える