fsize会将文件指针指向尾部
时间: 2024-01-21 20:19:30 浏览: 24
是的,fseek函数可以用来移动文件指针到任何位置,包括文件末尾。在移动文件指针到文件末尾后,可以使用ftell函数获取文件指针的位置,即文件大小。因此,可以使用如下代码获取文件大小:
```
#include <stdio.h>
long int getFileSize(FILE *file) {
long int size;
fseek(file, 0, SEEK_END); // 移动文件指针到文件末尾
size = ftell(file); // 获取文件指针的位置,即文件大小
return size;
}
int main() {
FILE *file = fopen("example.txt", "r");
printf("File size: %ld bytes\n", getFileSize(file));
fclose(file);
return 0;
}
```
相关问题
文件管理系统源码c#
文件管理系统是一种用于组织和管理计算机文件的软件系统。它提供了对文件的增删改查等操作,实现了对文件的有效管理和维护。以下是一个基于C语言的简单文件管理系统的源码示例:
```C
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char fname[20];
char ftype[10];
int fsize;
} File;
void addFile(File *files, int *count)
{
printf("请输入文件名:");
scanf("%s", files[*count].fname);
printf("请输入文件类型:");
scanf("%s", files[*count].ftype);
printf("请输入文件大小:");
scanf("%d", &files[*count].fsize);
(*count)++;
printf("文件添加成功!\n");
}
void printFiles(File *files, int count)
{
printf("文件列表:\n");
for (int i = 0; i < count; i++) {
printf("文件名:%s\t文件类型:%s\t文件大小:%d\n", files[i].fname, files[i].ftype, files[i].fsize);
}
}
int main()
{
File files[100];
int count = 0;
int choice;
while (1) {
printf("文件管理系统\n");
printf("1. 添加文件\n");
printf("2. 查看文件列表\n");
printf("3. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addFile(files, &count);
break;
case 2:
printFiles(files, count);
break;
case 3:
exit(0);
default:
printf("无效选项,请重新选择。\n");
}
}
return 0;
}
```
这个简单的文件管理系统源码实现了添加文件和查看文件列表的功能。用户可以选择添加文件,然后输入文件名、文件类型和文件大小,系统会将文件信息保存到文件数组中,并更新文件数量。用户还可以选择查看文件列表,系统会遍历文件数组,输出每个文件的信息。用户还可以选择退出系统。这个源码示例只是一个简单的文件管理系统,实际应用中可能还需要更多完善的功能和优化。
fatfs获取文件大小
FatFS 是一个开源的文件系统,如果要获取 FatFS 文件的大小,可以使用以下代码:
```
#include "ff.h"
FILINFO fno;
FRESULT res = f_stat("test.txt", &fno);
if (res == FR_OK) {
printf("The size of the file 'test.txt' is %u bytes.\n", fno.fsize);
} else {
printf("Failed to get the file information.\n");
}
```
其中,`f_stat` 函数用于获取文件的信息,第一个参数是文件名,第二个参数是文件信息结构体指针。如果获取成功,可以通过结构体成员 `fsize` 获取文件的大小,以字节为单位。
相关推荐
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)