① c语言如何读写 linux文本文件
Linux下C语言的文件(fputc,fgetc,fwrite,fread对文件读写操作)//fputc 向文件写入字符#include <stdio.h>#include <stdlib.h>main(){FILE *fp;char ch;if((fp=fopen("test.txt","w"))==NULL){printf("不能打开文件\n");exit(0);}while ((ch=getchar())!='\n')fputc( ch, fp );fclose(fp);}————-小提示:fp=fopen("test.txt","w") ,把"w"改为 "a" 可以创建文件并且追加写入内容exit(0); 需要包含 stdlib.h 头文件,才能使用//fgetc 读取字符#include <stdio.h>#include <stdlib.h>main( int argc, char *argv[] ){char ch;FILE *fp;int i;if((fp=fopen(argv[1],"r"))==NULL){printf("不能打开文件\n");exit(0);}while ((ch=fgetc(fp))!=EOF)putchar(ch);fclose(fp);}文件结尾,通过判断 EOF//fwrite 的使用使数组或结构体等类型可以进行一次性读写#include <stdio.h>#include <stdlib.h>main(){FILE *fp1;int i;struct student{char name[10];int age;float score[2];char addr[15];}stu;if((fp1=fopen("test.txt","wb"))==NULL){printf("不能打开文件");exit(0);}printf("请输入信息,姓名 年龄 分数1 分数2 地址:\n");for( i=0;i<2;i++){scanf("%s %d %f %f %s",stu.name,&stu.age,&stu.score[0],&stu.score[1], stu.addr);fwrite(&stu,sizeof(stu),1,fp1);}fclose(fp1);}//fread 的使用#include <stdio.h>#include <stdlib.h>main(){FILE *fp1;int i;struct student{char name[10];int age;float score[2];char addr[15];}stu;if((fp1=fopen("test.txt","rb"))==NULL){printf("不能打开文件");exit(0);}printf("读取文件的内容如下:\n");for (i=0;i<2;i++){fread(&stu,sizeof(stu),1,fp1);printf("%s %d %7.2f %7.2f %s\n",stu.name,stu.age,stu.score[0],stu.score[1],stu.addr);}fclose(fp1);}//fprintf , fscanf, putw , getw , rewind , fseek 函数这些函数的话我就不演示了 ,这些函数基本都一对来使用,例如 fputc 和 fgetc 一起来用.
② LINUX C语言写一个读写文件的程序,读取的话,要把文件内容显示出来,写的话,就是写进文件里面咯
#include<stdio.h>#include<stdlib.h>intmain(){FILE*pf=fopen("a.txt","r");if(pf==NULL){printf("opena.txtfilefailed!");exit(0);}FILE*pf2=fopen("b.txt","w");if(pf2==NULL){printf("openb.txtfilefailed!");fclose(pf);exit(0);}charch;while(!feof(pf)){ch=fgetc(pf);putchar(ch);fputc(ch,pf2);}fclose(pf2);fclose(pf);return0;}
③ 用linux下的c语言读取txt文件中的列数据
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下 C语言实现打开一个txt文档,读取所有数据,并发送给socket程序服务端。 以下代码能读取不能发送
应该是调用完 write 之后马上 close 了导致服务端还没收下来,你在close前加个 sleep(1) 再试试。我试过了,能发成功。
⑤ c语言如何读写 linux文本文件
Linux下C语言的文件(fputc,fgetc,fwrite,fread对文件读写操作)
//
fputc 向文件写入字符
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("test.txt","w"))==NULL)
{
printf("不能打开文件");
exit(0);
}
while ((ch=getchar())!='')
fputc( ch, fp );
fclose(fp);
}
————-
小提示:
fp=fopen("test.txt","w") ,把"w"改为 "a" 可以创建文件并且追加写入内容
exit(0); 需要包含 stdlib.h 头文件,才能使用
//
fgetc 读取字符
#include <stdio.h>
#include <stdlib.h>
main( int argc, char *argv[] )
{
char ch;
FILE *fp;
int i;
if((fp=fopen(argv[1],"r"))==NULL)
{
printf("不能打开文件");
exit(0);
}
while ((ch=fgetc(fp))!=EOF)
putchar(ch);
fclose(fp);
}
文件结尾,通过判断 EOF
//
fwrite 的使用
使数组或结构体等类型可以进行一次性读写
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fp1;
int i;
struct student{
char name[10];
int age;
float score[2];
char addr[15];
}stu;
if((fp1=fopen("test.txt","wb"))==NULL)
{
printf("不能打开文件");
exit(0);
}
printf("请输入信息,姓名 年龄 分数1 分数2 地址:");
for( i=0;i<2;i++)
{
scanf("%s %d %f %f %s",stu.name,&stu.age,&stu.score[0],&stu.score[1], stu.addr);
fwrite(&stu,sizeof(stu),1,fp1);
}
fclose(fp1);
}
//
fread 的使用
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fp1;
int i;
struct student{
char name[10];
int age;
float score[2];
char addr[15];
}stu;
if((fp1=fopen("test.txt","rb"))==NULL)
{
printf("不能打开文件");
exit(0);
}
printf("读取文件的内容如下:");
for (i=0;i<2;i++)
{
fread(&stu,sizeof(stu),1,fp1);
printf("%s %d %7.2f %7.2f %s",stu.name,stu.age,stu.score[0],stu.score[1],stu.addr);
}
fclose(fp1);
}
//
fprintf , fscanf, putw , getw , rewind , fseek 函数
这些函数的话我就不演示了 ,
这些函数基本都一对来使用,例如 fputc 和 fgetc 一起来用.
⑥ linux怎么c语言读取普通文件内容
1、用fgets函数复可以读取文件中某制行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。2、例程:#include<stdio.h>#include<string.h>void main(){ char a[100],b[100],c[100]; int i=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\n",i,a); printf("第%d列数据:%s\n",j,b); fclose(fp);
⑦ 在Linux下用C语言做个程序 创建一个txt文件 执行程序写一段话 写进txt
示例教程:来
1. 编写代码
在linux下面使用命源令创建main.c文件
vimmain.c
main.c代码:
#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>#include<fcntl.h>#include<string.h>#defineMAX50intmain(){intfd;charbuf[MAX];fd=open("1.txt",O_WRONLY|O_CREAT|O_APPEND);if(fd==-1){printf("文件创建失败");return-1;}printf("请输入要写入的句子:");fgets(buf,MAX,stdin);write(fd,buf,MAX);printf("写入成功");return0;}
2.编译源程序
gccmain.c-omain
结果在此路劲下会出现main源程序
完成
⑧ linux C 从多种文件中只读取txt文件 各位大神 跪求!!!
你在程序中首先打开那个目录,其次再获取目录下的各文件的名称,再对文件名称的后缀做判断,看后缀是不是以.txt结束的不就得了嘛!
⑨ 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下c语言 读取文件内容
没测试过,不过问题应该是fgetc这里fgetc获取到第一个字符,比如第一行的'#'号,然后fgets获取到后面的字符,打印版当然就没有权第一个字符了,解决方式要么只用fgets,要么把fgetc获取的字符也打印出来
未经允许不得转载:山九号 » linuxc读取txt文件|c语言如何读写 linux文本文件