linux mysql回车_Windows下的换行回车与Linux的回车

本文介绍了Windows和Linux系统中换行符的区别,并提供了一个C语言程序示例,用于读取文本文件并考虑不同系统的换行符差异。通过示例代码,展示了如何在读取过程中定位行边界。
摘要由CSDN通过智能技术生成

Windows下的换行回车与Linux的回车的示例文本如下:fsad6546F5343646546345asfdsafsadfsda456749+8ASDFSAD现要读取第一行Windows

Windows下的换行回车与Linux的回车的示例文本如下:

fsad6546

F5343

646546345asfdsa

fsadfsda

456749+8

ASDFSAD

现要读取第一行

Windows下第一行结束是\r\n,8个字符之后是‘\r\n’,c语言fgetc读取时,第九个和第十个字符均为'\n',同时下一行的F是第11个字符

Linux下没有回车'\r',有换行,读完8个字符后是'\n',同时下一行的F是第十个字符

以下程序是读取文本文件,然后输出

(注意要先得到一行的长度)

#include

#include

#include

int main()

{

char *str,c;

str=(char*)malloc(1);

int k=0,sum=0;

FILE * pfile= fopen("test.txt","r");

while(1)

{

int i=0;

char d;

int k=ftell(pfile);

fseek(pfile,8,SEEK_SET);

c=fgetc(pfile);

while( c!='\n')

{

if(c==-1)

{

fseek(pfile,-i,SEEK_CUR);

goto first;

}

i++;

c=fgetc(pfile);

k=ftell(pfile);

}

k=ftell(pfile);

d=fgetc(pfile);

k=ftell(pfile);

fseek(pfile,-i-2,SEEK_CUR);//Linux下这要改为 fseek(pfile,-i-1,SEEK_CUR);

first:

free(str);

str=(char*)malloc(i+2);

if(fgets(str,i+2,pfile)==NULL)

{

break;

}

printf(str);

}

fclose(pfile);

return 0;

}

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值