プロが教える店舗&オフィスのセキュリティ対策術

初心者ですみません。リム-バルディスクに入っているデータの中から条件にあったデータを抽出するにはどのようにすればいいでしょうか?
本の通りにプログラムを作ってみたんですが、ファイル指定の際にファイルオープンエラーになってしまいます。

A 回答 (4件)

>とはどういうことでしょうか?どこかまた別に入力する場所があるのでしょうか?


開発環境で入力した値を確認するとか
printfで出力してみるとかそういうことです。
    • good
    • 0

>Press any key to exit の文字が出てきて検索はしてくれません。


"Press any key to exit"
自体は、多分、開発環境から実行して、プログラムが正常に終了したので、何か押してくれということですね。
検索自体は、されているのだと思いますが、
何も表示されないということは、
>if (strcmp(name[loop], input) == 0)
でうまく一致しないということだと思います。
name[loop]や、inputをうまく入力ができているか確認するといいと思います。
あと、
>printf("%sさんの電話番号は: &s\n", input, phone[loop]);
の&sは、%sですね。

この回答への補足

name[loop]や、inputをうまく入力ができているか確認するといいと思います。


とはどういうことでしょうか?どこかまた別に入力する場所があるのでしょうか?

補足日時:2005/09/04 21:56
    • good
    • 0

>printf("ファイルが開けません\n");


の部分のメッセージが実行すると表示される
ということでいいですか?

>if ((FP = fopen("filename", "r")) == NULL)
では、オープンするファイルは"filename"になっていますが、
実際は"D:\mo\file.doc"とかなっているのでしょうか
もしそうなら
"D:\\mo\\file.doc"
のようにするといいかもしれません。

この回答への補足

すみません間違えました。
ワードの方の保存は、address.txtになっているので、filenameの部分はaddress.txtを入れました。
そうすると、「電話番号を検索したい名前を入力してください」と出るので入力するとPress any key to exit の文字が出てきて検索はしてくれません。
本当に初心者ですみません。

補足日時:2005/09/03 17:02
    • good
    • 0

どんなプログラムを書いたのか、補足で挙げていただくと、回答もつきやすいと思います。

この回答への補足

例えばワードにアドレス帳があり、その中から指定した人を抽出するにはどうしたらいいでしょう?
プログラムは、

#include <stdio.h>
#include <string.h>

int main()
{
char name[10][22];
char phone[10][13];
char input[21];
int loop;
FILE *FP;

/* ファイルのオープン */
if ((FP = fopen("filename", "r")) == NULL)
{
printf("ファイルが開けません\n");
return(1);
}

/* ファイルからデータを読み込む */
for (loop = 0; loop < 10; loop++)
{
/* 名前の読み込み */
fgets(name[loop], 22, FP);

/* 読み込んだ文字の最後にあるかいい業を消す */
name[loop][strlen(name[loop])-1] = '\0';

/* 電話番号の読み込み */
fgets(phone[loop], 13, FP);

/* 読み込んだ文字の最後にある改行を消す */
phone
[loop][strlen(phone[loop])-1] = '\0';
}

/* 電話番号を検索したい名前の入力 */
printf("電話番号を検索したい名前を入力してください\n");
gets(input);
/* 検索と表示 */
for (loop = 0; loop <10; loop++)
{
if (strcmp(name[loop], input) == 0)
{
/* 電話番号表示 */
printf("%sさんの電話番号は: &s\n", input, phone[loop]);
}
}
return(0);
}

としてコンパイルすると、ファイル名を実行してくださいとなるんですが、ファイル名を入れるとエラーになります。。。

補足日時:2005/09/03 16:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!