C++文件读写之获取文件大小的几种常见的方式

来源:互联网 发布:h5棋牌前景 知乎 编辑:程序博客网 时间:2024/06/06 03:48
对文件操作时有时获得文件的大小时必要的.下面是获得其大小小的较简单方法.#include<io.h> //C语言头文件#include<iostream> //for system();using namespace std;int main(){int handle;handle = open("test.txt", 0x0100); //open file for readlong length = filelength(handle); //get length of filecout<<"file length in bytes:"<<length<<endl;close(handle);system("pause");return 0;}


//用Windows API 中的 GetFileSize()获得文件长度//假设文件file.txt 在当前目录下//file.txt的内容为:123abc//关于windows API函数情参考部分windows API函数或MSDN#include <iostream>#include <windows.h> //for windows apiusing namespace std;int main(){//用API函数CreateFile()创建文件句柄//OPEN_EXISTING 文件存在则打开并读取//file.txt文件名或路径HANDLE fhadle = CreateFile("file.txt", 0,0,0,OPEN_EXISTING, 0,0);DWORD size = GetFileSize(fhadle,0);cout<<"size:"<<size<<endl;return 0;}

//假设文件file.txt存在,且在当前目录下#include <iostream>#include <fstream>using namespace std;int main(int argc, char* argv[]){ifstream in("file.txt");in.seekg(0, ios::end); //设置文件指针到文件流的尾部streampos ps = in.tellg(); //读取文件指针的位置cout << "File size: " << ps << endl;in.close(); //关闭文件流return 0;}

#include <sys\stat.h>;#include <string.h>;#include <stdio.h>;#include <fcntl.h>;#include <io.h>;int main(void){int handle;char msg[] = "This is a test";char ch;/* create a file */handle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE);write(handle, msg, strlen(msg));lseek(handle, 0L, SEEK_SET);do{read(handle, &ch, 1);printf("%c", ch);} while (!eof(handle));close(handle);return 0;}


原创粉丝点击