gpt4 book ai didi

c - 如何使用系统调用在c中确定两个文件是否相同

转载 作者:行者123 更新时间:2023-11-30 20:49:27 25 4
gpt4 key购买 nike

我需要看看两个文件是否相同所以我用了结构统计

    fdin = open(argv[0],O_RDONLY);
statos= fstat(fdin, &stat);
close(fdin);
fdin = open(argv[1],O_RDONLY);
statos1= fstat(fdin, &stat1);
close(fdin);
printf("file 1 is in size: %lu\n",stat1.st_ino);
printf("file 2 is in size: %lu\n",stat.st_ino);

结果

file 1 is in size: 9569486
file 2 is in size: 9569479

为什么具有相同路径的同一文件的 st.ino 不相同?如果两个不同的文件相同,我该怎么做,我可以通过系统调用检查它

最佳答案

这是因为您打开了两个不同的文件:

./a.out ab.txt ab.txt

argv[0] 是可执行文件,argv[1] 是“ab.txt”。

如果您将错误检查放入代码中,那就很清楚了。

出于某种原因,您还将 inode 打印为“大小”。

关于c - 如何使用系统调用在c中确定两个文件是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15717221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com