fileno, stat, fstat以及struct stat结构体(获取文件详细信息)

     fileno函数用于获取文件描述符,假设当前目录有1.txt, 2.txt, 3.txt, 则:

#include <stdio.h>
int main( void )
{
	FILE *fp1 = fopen("1.txt", "r");
	FILE *fp2 = fopen("2.txt", "r");
	FILE *fp3 = fopen("3.txt", "r");

	printf("%d\n", fileno(fp1));
	printf("%d\n", fileno(fp2));
	printf("%d\n", fileno(fp3));

	fclose(fp1);
	fclose(fp2);
	fclose(fp3);

	return 0;
}

    结果为:

3

4

5

   

      下面看看stat函数:

#include <stdio.h>
#include <sys\stat.h>

int main()
{
	struct stat fileStat;
	stat("1.txt", &fileStat);

	printf("%d\n", fileStat.st_size); // 7 <--- 1.txt文件中的字节数
	
	return 0;
}


     下面看看fstat函数:

#include <stdio.h>
#include <time.h>
#include <sys\stat.h>

int main()
{
	FILE *fp = fopen("1.txt", "r");
	struct stat fileStat;
	fstat(fileno(fp), &fileStat);

	printf("%d\n", fileStat.st_size);
	printf("%s", ctime(&fileStat.st_ctime)); // 有换行符
	
	return 0;
}

    结果我就不说了,睡觉去。

     

你可能感兴趣的:(fileno, stat, fstat以及struct stat结构体(获取文件详细信息))