在linux中给一个文本文件写内容的方法(三种)

在linux中给一个文本文件写内容的方法(三种),第1张

一,使用文本编辑器法。

二,使用重定向的方法。

三,使用像是sed这种程序来改写文件内容

1,使用文本编辑器法:这种方法是缺或最直接也是最直观的了。比如使用vim、nano、gedit等等文本编辑器都可以对文件进行写入(前提是有相应的权限)首凳。

2,我们也可以使用重定向的方法将内容写入的文件内(同样的,前提是有相应的权限,即当前用户对该文件有写入权限)。我们只需要将原本输出的标准输出的内容重定向到文件里就可以了。比如使用cat、echo、head、tail等等命令,前者在写入时会将文本文件中的内容清除,后者则会在原有文本文件的未尾追加内容。

3,使用像是sed这种程序来改写文件内容,也可以使用者扮旅tee这个命令在写文件,tee可以将标准输入的内容写入到文件内。

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=0i<2i++)

{

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=0i<2i++)

{

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 一起来用.

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *pf = fopen("a.txt", "返逗绝r")

if(pf == NULL) {

printf("open a.txt file failed!\n")

exit(0)

}

FILE *pf2 = fopen("b.txt", "w")

if(pf2 == NULL) {

printf("open b.txt file 漏姿failed!\n")

fclose(pf)

exit(0)

}

char ch

while(!feof(pf)) {

ch = fgetc(pf)

putchar(ch)

fputc(ch, pf2)

}

fclose(pf2)

fclose(pf)

return 指陪0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12208562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存