2016-09-30 11 views
0

テキストファイルのinode番号のリストを取得するにはどうすればよいですか? CのCのiノード番号を印刷

int main(int argc, char *argv[]) 
{ 

    FILE *pFile; 
    pFile=fopen("file.txt", "r"); 
     . 
     . 
     . 
     . 
    fclose(pFile); 

    system("pause"); 
    return 0; 
} 

私はどのようにinodeを取得するのか分かりません。

誰かのコードによって追加されましたか?

+0

http://stackoverflow.com/questions/22575727/printing-info-of-a-file-director-inode –

+0

M.S Chaudhari:情報を表示していたファイルに指定する方法?ファイル名をfile.txtにします。 – Henrix

答えて

0

正しいですか?

int main (int argc, char *argv[]) 
{ 
    struct stat fileStat; 
    int fd=0; 
    FILE *filename = "infile.txt"; 

    if ((fd = open (filename , O_RDONLY)) == -1){ 
     perror ("open "); 
     system("pause"); 
     exit (1) ; 
    } 

    if(fstat(fd, &fileStat)<0) return 1; 

    printf("Information for %s\n",filename); 
    printf("---------------------------\n"); 
    printf("File Size: \t\t%d bytes\n",fileStat.st_size); 
    printf("Number of Links: \t%d\n",fileStat.st_nlink); 
    printf("File inode: \t\t%d\n",fileStat.st_ino); 

    system("pause"); 
    return 0; 
} 
0

これが役に立ちます。

#include <stdio.h> 
#include <sys/stat.h> 
#include <fcntl.h> 
#include <stdlib.h> 
int main (int argc, char *argv[]) 
{ 
     struct stat fileStat; 
     int fd=0; 
     FILE *filename = "file1.txt"; 

     if ((fd = open (filename , O_RDONLY)) == -1){ 
       perror ("open "); 
       system("pause"); 
       exit (1) ; 
     } 

     if(fstat(fd, &fileStat)<0) return 1; 

     printf("File inode: %d\n",fileStat.st_ino); 

     return 0; 
} 
関連する問題