1

abcという名前のd:ドライブにテキストファイルを作成しました。開けません。その方法を教えてください。

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
    FILE *fp;
    clrscr();
    fp = fopen("D:/abc.txt","r");
    if(fp == NULL)
    {
        printf("\nCannot open");
        getch();
        exit(1);
    }
    fclose(fp);
    getch();
}
4

6 に答える 6

5

タイプミスがあります、試してください

 fp = fopen("D:\\abc.txt","r");

代わりは。

または、ファイルがプログラムと同じフォルダーにある場合:

 fp = fopen("abc.txt","r");
于 2013-02-27T13:44:04.963 に答える
4

パスを修正してください。D:\\abc.txt"

于 2013-02-27T13:44:20.067 に答える
3

あなたのファイルパスは少し奇妙に見えます。に変更します

fp = fopen("D:\\abc.txt","r");

これはうまくいくかもしれません。

それとは別に、<errno.h>失敗した場合は含めて確認してください。

于 2013-02-27T13:44:53.123 に答える
2
fp = fopen("D:/abc.txt","r");

する必要があります

fp = fopen("D:\\abc.txt","r");

\Windowsではなくパスで使用され、エスケープ シーケンス用/に余分に使用されます。\

編集

あなたが他の人にコメントしたように、それfp = fopen("D:\\abc.txt","r");も機能していないので、実際に名前が何であるかを確認してください。誤って間違った名前を付けた可能性があります。このようなエラーがないか確認してください。

(1) コマンド プロンプトを開きます
(2) DIR コマンドを使用して、ファイルの名前を出力します。

c:\Users\name> D:
D:\> DIR
 Volume in drive D is FUN BOX
 Volume Serial Number is B48A-3CE7

 Directory of d:\

 27-02-2013  19:23                 0 abc.txt.txt
 26-02-2013  22:05    <DIR>          BOLLYWOOD MOVIES
 27-02-2013  19:31                 0 x
           2 File(s)              0 bytes
           1 Dir(s)  11,138,654,208 bytes free

ファイル名はありますabc.txt.txtが、フォルダー拡張子でこれを見ると表示されず、ファイル名が見えますabc.txt

私は Linux ユーザーですが、通常は Windows でこの間違いを犯します。それが理由です。それはあなたを助けるかもしれません!

于 2013-02-27T13:44:37.273 に答える
2

TurboC を使用している場合は、そのファイルを TC の BIN ディレクトリに置きます。パスをfp = fopen("abc.txt","r");のように指定します。他の代替パスの代わりに。

于 2013-02-27T15:37:08.967 に答える
1

次回は、perror()関数を使ってエラーをより具体的にしてみます。Perror() はエラー コードを解釈します。これにより、エラーの種類を見つけようとする時間の無駄を減らすことができます。

これをコードに追加してください...

if(fp == NULL)
{
perror(fp);
}

実行時にエラーメッセージが表示されました

そのようなファイル、又はディレクトリはありません。(プログラムを実行し、最初に作成せずにファイルを読み込もうとしたため)

これが同じ問題だった場合は、あなたの場合を参照してください

于 2013-02-27T14:10:38.607 に答える