您的位置:首页 > 运维架构 > Linux

LINUX 下,编程自学一:文件操作

2014-04-24 21:06 246 查看
opendir.c
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<dirent.h>

int main()
{
DIR *dir;
struct dirent *ptr;
struct stat	filestat;

dir = opendir("file");

chdir("file");
while((ptr = readdir(dir)) != NULL )
{
if(strcmp(ptr->d_name,".") == 0 || strcmp(ptr->d_name,"..") == 0)
continue;
stat(ptr->d_name,&filestat);

printf("file name :%s\t size :%d\n",ptr->d_name,filestat.st_size);
}

return 0;
}

stat.c(文件状态)

#include<stdio.h>
#include<sys/stat.h>
#include<unistd.h>

int main()
{
struct stat buf;
stat("stat.c",&buf);
printf("size = %d\n",buf.st_size);
return 0;
}


filefd.c(open,lseek等就用)
#include<stdio.h>
#include<sys/types.h>
#include<stdio.h>
#include<unistd.h>
#include<sys/stat.h>
#include<fcntl.h>
int main()
{
char buf[] = "This is test file";

int fd ;

fd = open("testfile",O_CREAT|O_RDWR);

perror("open");
write(fd,buf,sizeof(buf));
perror("write");

lseek(fd,100,SEEK_SET);
perror("lseek");

close(fd);
sleep(1);
printf("\n");

fd = open("testfile",O_RDWR);

perror("open");

char buf_1[128];
read(fd,buf_1,128);

printf("buf_1 = %s\n",buf);

close(fd);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: