导航:首页 > 操作系统 > linuxc按行读取

linuxc按行读取

发布时间:2022-09-19 22:08:37

‘壹’ C语言读取文件内容,按行读

1通过fopen函数打开文本,例如file
*fp=fopen("in.txt","r");//返回一个file类型的句柄
2然后就可以通过fcanf()函数对txt文本进行读取
3操作完文本之后用fclose()函数
关闭已经打开的文件。
#include
int main()
{
int data;
file *fp=fopen("in.txt","r");
if(!fp)
{
printf("can't open file\n");
return -1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return 0;
}

‘贰’ c语言怎样按行读取

区分读取的源,有如下两种情况:

1 从标准输入读取,即stdin。
可以使用gets函数:
char * gets(char *str);
该函数会从标准输入中读取一行数据,直到读到\n,并将\n替换为字符串结束符\0,读取到的数据以字符串形式存于str中。
需要注意的是,使用gets函数时,需要确保str指向空间大小,必须超过任意一行的长度,否则会出现越界操作。有些编译器会报gets是不安全的,就是这个原因。

2 从文件读取。
对于一个被打开的文件,如果其是可读的,那么可以通过fgets函数实现按行读取。
char *fgets(char *buf, int bufsize, FILE *fp);
功能与gets类似,只是源不同。fgets从fp中读一行数据存到buf中,同时会判断bufsize,如果一行数据的长度超过了bufsize,那么只读入bufsize长度的数据,确保不会溢出。否则读取整行。
由于在C语言中,标准输入stdin也是以文件指针形式存在的,所以gets可以用
fgets(str, bufsize, stdin);
替代,这样代码量稍多一些,但可以更安全。

‘叁’ C语言字符串 按行读取

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
int main()
{
int e=0;
char pjk[80]={0},pj[80]={0},fk[80]={0},dd[80]={0};
FILE *fc,*fp;
char *psz;//[100]={0};
int len=0;
int i=0;
int j=0;
int index[5]={0};
fc=fopen("参数.txt","rb");
fp=fopen("输出.txt","wb");

fseek(fc,0L,SEEK_END);
len=ftell(fc);//得到文件长度
fseek(fc,0L,SEEK_SET);
psz=(char*)malloc(len+1);//申请内存
memset(psz,0x00,len+1);
fread(psz,len,sizeof(char),fc);//读全部文件到内存
for (i=0;i<len;i++)
{
if('\r'==psz[i])
{
psz[i]=0;//将字符串切割
}
else if ('\n'==psz[i])
{
j++;
psz[i]=0;//将字符串切割
index[j]=i+1;//获取每一行开头索引
}
else
{
dd[i]=psz[i];
}
}

strcpy(dd,psz+index[0]);
e=atoi(psz+index[1]);
strcpy(pjk,psz+index[2]);
strcpy(pj,psz+index[3]);
strcpy(fk,psz+index[4]);
free(psz);//释放内存

fprintf(fp,"%s\r\n",dd);
fprintf(fp,"%d\r\n",e);
fprintf(fp,"%s\r\n",pjk);
fprintf(fp,"%s\r\n",pj);
fprintf(fp,"%s\r\n",fk);

fclose(fc);
fclose(fp);
}

‘肆’ c语言逐行读取文件

可以使用fgets函数。

1 函数名:

fgets

2 声明:

char *fgets(char *buf, int bufsize, FILE *stream);

3 头文件:

stdio.h

4 功能:

从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋''),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。


5 参数:

*buf:字符型指针,指向用来存储所得数据的地址。

bufsize:整型数据,指明存储数据的大小。

*stream:文件结构体指针,将要读取的文件流。


6 返回值:

成功,则返回第一个参数buf;

在读字符时遇到end-of-file(文件结尾),则eof指示器被设置,如果还没读入任何字符就遇到这种情况,则buf保持原来的内容,返回NULL;

如果发生读入错误,error指示器被设置,返回NULL,buf的值可能被改变。


7 示例代码:

逐行读取in.txt中的数据,并打印。每行不超过100个字符。

intmain()
{
FILE*fp;
charbuf[101];
fp=fopen("in.txt","r");//打开文件
while(fgets(buf,sizeof(buf),fp))//每次读取一行数据,直到读取失败。
{
printf("%s ",buf);//打印该行。
}
fclose(fp);//关闭文件。

return0;
}

‘伍’ 如何在linux下编写c程序,读取并显示某个文件的前三行,格式为hrad3文件名

在程序当中编写这个前三行的话,格式一定要按文件来命名的文件名,命名的文件还是比较好用的。

‘陆’ Linux C语言怎么读取文件指定行内容

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。

2、例程:

#include<stdio.h>
#include<string.h>
voidmain()
{
chara[100],b[100],c[100];
inti=3,j=4,k=0;//第三行,第四列
FILE*fp=fopen("data.txt","r");
while(fgets(c,100,fp)){//读入每行数据
i--;
if(i==0)strcpy(a,c);//读到第三行数据
b[k++]=c[j-1];//把每行的那列字符拷到b中
}
b[k]=0;
printf("第%d行数据:%s ",i,a);
printf("第%d列数据:%s ",j,b);
fclose(fp);
}

‘柒’ linux下如何将一个文件的内容按行 和 “TAB”分隔读取

说实话,我没太理解你所提的问题。
这是文件名,还是文件内容?
你要读取的行是顺序读取,还是按照所给行数读取。
然后输出成的
c11 c12 c13 c14 c15Tab
c21 c22 c23 c24 c25Tab

是文本格式?还是创建的文件名?我是在没读懂你所表达的意思。

‘捌’ 在linux下,怎样用c语言按行读取二进制文件,并写入到另一个文件中

二进制文件分行吗?文本文件吧?
你查一下fgets的api吧~有事查api自己钻研才有趣。
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm

‘玖’ C语言读取文件内容,按行读

C语言逐行读取文件内容 ,参考代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAX_LINE1024
intmain()
{
charbuf[MAX_LINE];/*缓冲区*/
FILE*fp;/*文件指针*/
intlen;/*行字符个数*/
if((fp=fopen("test.txt","r"))==NULL)
{
perror("failtoread");
exit(1);
}
while(fgets(buf,MAX_LINE,fp)!=NULL)
{
len=strlen(buf);
buf[len-1]='';/*去掉换行符*/
printf("%s%d ",buf,len-1);
}
return0;
}
阅读全文

与linuxc按行读取相关的资料

热点内容
怎么使用access的命令按钮 浏览:897
有点钱app在哪里下载 浏览:832
博途v15解压后无法安装 浏览:203
什么是根服务器主机 浏览:436
安卓手游怎么申请退款 浏览:553
安卓系统如何分享网页 浏览:278
ad如何编译pcb工程 浏览:412
除了滴滴app哪里还能用滴滴 浏览:399
截图怎么保存文件夹然后压缩 浏览:8
幻影服务器怎么样 浏览:27
具体哪些广东公司招程序员 浏览:870
嵌入式编译器教程 浏览:306
ssl数据加密传输 浏览:86
51单片机定时器方式2 浏览:331
命令行查看开机时间 浏览:813
python微博复杂网络分析 浏览:550
rf3148编程器 浏览:505
浙江标准网络服务器机柜云主机 浏览:589
设置网络的服务器地址 浏览:600
java图形界面设计 浏览:751