私の演習で私はCのおかげでフォルダを開く必要があります。私はdirentのライブラリでこれを実行した後、フォルダ内のすべてのファイルの名前を画面に表示することができます。しかし今、私は、スクリーンに印刷された現在のファイルを毎回開くようにしたい。だから私はfopenでこれを行いますが、私のfopenが私にNULLを返すたびに、現在のファイルを毎回開くために何ができるのですか? ありがとう!バイナリファイルを開く
void OpenDirectory(char *Folder, char *Virus){
DIR * dir = NULL;
struct dirent* CurrentFile = NULL;
dir = opendir(Folder);
if (dir == NULL){
perror("");
}
else
{
while ((CurrentFile = readdir(dir))!= NULL)
{
if (!strcmp(CurrentFile->d_name, ".") || !strcmp(CurrentFile->d_name, ".."))
{
// Don't do anything
}
else
{
printf("Current file is : %s\n", CurrentFile->d_name);
Myfile(CurrentFile->d_name);
}
}
}
}
void Myfile(FILE* File1){
File1 = fopen(File1, "rb");
printf("File is : %s", File1);
if (File1 == NULL)
{
printf("The file source doesn't exist !\n");
}
else
{
printf("Welcome");
}
}
実際のプリントアウトを表示します。どのファイル指定が 'printf( "File is:%s"、File1);'によって出力されますか。明らかに、fopen()が機能するためには、これは有効な名前とPATHである必要があります。 –
すべてのファイルを含むフォルダが自分のプログラムの同じディレクトリにないためにどうすればいいですか.c –
ファイル名を含むフォルダ(strcat)の指定にファイル名を追加する必要があります。 –