0

したがって、この課題では、ファイルを読み取り、コンテンツを操作することになっています。現在、ファイルを開いて読み取り、何行あるかを出力できるようにしたいだけです。そのための適切なコードがあると思いますが、プログラムの外部でファイルを「読み取る」または接続する方法がわかりません! 私は使用しています

FILE *fp = NULL; 
fp = fopen ();

一部ですよね?そして、それはファイルを開く/接続する方法ですか? しかし、これが何をするのか、プログラム外のファイルにどのように接続できるのかはわかりません。ファイルを読み取るには、ユーザーにテキストファイルを次のように入力させます

printf ("Enter the name of the data file: ");
scanf ("%[^\n]", &filename);

そして、私が置いたことを読むために

fp = fopen("&filename", "r");

しかし、これは正しくないようで、機能しません。私が間違っていること、およびユーザーが入力したファイルを読み取る方法を誰かが説明できますか? それが理にかなっている場合、私はSSHマトリックスグループにいます.sshターミナルを使用してパテにログオンするように? 説明の仕方がわかりませんが、それは私の学校のオンライン SSH です...

4

1 に答える 1

1
fp = fopen("&filename", "r");

filenameは variable です。なぜ""二重引用符で囲んで渡すのですか。

以下のようなことを試してください:

char filename[50]; // need a character array or buffer to hold the filename

printf ("Enter the name of the data file: ");
scanf ("%[^\n]", filename);   // no & operator

今使う

fp = fopen(filename, "r");   // filename variable should contain complete path 

                              //with the actual file name

これはうまくいくはずだと思います。

fpまた、 asを確認する必要があります

if(fp == NULL)   // It's always a safe way to proceed
   printf("Error in file opening\n");
于 2012-12-03T19:24:05.063 に答える