linux 下如何知道一个文件是关闭状态
发布网友
发布时间:2022-04-20 11:22
我来回答
共3个回答
热心网友
时间:2023-07-21 13:49
下面是读取一个文件 并复制成新文件
#include <string.h>
#include <strings.h>
#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 1024
int main(int argc, char **argv)
{
FILE *from_fd;
FILE *to_fd;
long file_len = 0;
char buffer[BUFFER_SIZE];
char *ptr;
//判断传入参数
if(argc != 3)
{
printf("Usage: %s fromfile tofile", argv[0]);
exit(1); //异常退出返回1
}
//打开原文件
if((from_fd = fopen(argv[1], "rb")) == NULL)
{
printf("Read %s Error\n", argv[1]);
exit(1);
}
//创建目的文件
if((to_fd = fopen(argv[2], "wb")) == NULL)
{
printf("Write %s Error\n", argv[2]);
exit(1);
}
//侧得文件大小
fseek(from_fd, 0L, SEEK_END);
file_len = ftell(from_fd);
fseek(from_fd, 0L, SEEK_SET);
printf("from file size is = %ld\n", file_len);
//进行文件拷贝
while(!feof(from_fd))
{
fread(buffer, BUFFER_SIZE, 1, from_fd);
//fread 为c标准库里函数 // read 为Linux系统调用, 返回成功读取了多少字节 出错则返回-1
if(BUFFER_SIZE >= file_len)
{
fwrite(buffer, file_len, 1, to_fd);
}
else
{
fwrite(buffer, BUFFER_SIZE, 1, to_fd);
file_len = file_len - BUFFER_SIZE;
printf("copy success!\n");
}
bzero(buffer, BUFFER_SIZE);
}
fclose(from_fd);
fclose(to_fd);
exit(0); //返回0 表示成功
}
热心网友
时间:2023-07-21 13:49
stat file_name
热心网友
时间:2023-07-21 13:50
命令里面啊