-1

フォルダ名のサンプルとファイルは次のようになります

1.text  
1_1.text , 
1_2.text, 
1_3.text,
3.text, 
4_1.text

異なるファイルからの読み取りに問題があります。

コード:

if(dir!=NULL) { 
   while((dent=readdir(dir))!=NULL) { 
          printf(dent->d_name); 
          count++; 
   } 
} 

そこからファイル名を取得しています。しかし、どうすればファイルを保存でき、どのようにすべてのファイルからデータを取得できますか

4

1 に答える 1

1

でファイルを開くだけです fopen

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
        FILE *fp = fopen(dent->d_name, "r");
        /* process file */
        fclose(fp);
   } 
}

または fstream

if(dir!=NULL) { 
    while((dent=readdir(dir))!=NULL) { 
        ifstream f(dent->d_name);
        /* process file */
   } 
}

Unix を使用している場合は、これを使用statして確認できます。これdent->d_nameは実際にファイルであり、ディレクトリや特別なファイルではありません。

于 2013-02-26T10:39:16.117 に答える