C 读文件 Windows 与 Linux 的差别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 读文件 Windows 与 Linux 的差别相关的知识,希望对你有一定的参考价值。


同样的源代码,同样的编译器gcc


源代码:

main.c

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *args[])
{
        FILE *p1 = fopen("main.c","r");
        char buf[1024] = {0};
        while(!feof(p1))
        {
                fgets(buf,sizeof(buf),p1);
                printf("%s",buf);
        }
        fclose(p1);
        return 0;
}
// hello world


windows 运行:

D:\>gcc main.c & a.exe
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *args[])
{
        FILE *p1 = fopen("main.c","r");
        char buf[1024] = {0};
        while(!feof(p1))
        {
                fgets(buf,sizeof(buf),p1);
                printf("%s",buf);
        }
        fclose(p1);
        return 0;
}
// hello world



Linux 运行:

[email protected]:~/tmp$ gcc  main.c && ./a.out 
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *args[])
{
        FILE *p1 = fopen("main.c","r");
        char buf[1024] = {0};
        while(!feof(p1))
        {
                fgets(buf,sizeof(buf),p1);
		printf("%s",buf);
        }
        fclose(p1);
        return 0;
}
// hello world
// hello world




可以看见,Linux比Windows会多输出一行

本文出自 “魂斗罗” 博客,请务必保留此出处http://990487026.blog.51cto.com/10133282/1786917

以上是关于C 读文件 Windows 与 Linux 的差别的主要内容,如果未能解决你的问题,请参考以下文章

如何在Windows下编制与Linux系统对应的C语言gettimeofday函数

lua和.netcore对比

Linux学习-文件权限

在windows 与Linux间实现文件传输(C++&C实现)

读《Android深度探索(卷1)HAL与驱动开发》的一些思考08

linux下的c与windows下的c的区别