zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言:读写文件中字符串的函数

C语言文件 函数 字符串 读写
2023-09-27 14:22:46 时间

1.逐行读出 datafile2.txt 文件中的字符并显示出来。

#include <stdio.h>
void main()
{ FILE  *fp2;
char  buffer[64]if ((fp2=fopen (″datafile2.txt″,″r″))== NULL)  /*以只读方式打开文件,且测试*/
{
printf (″can′t  open  file  \ n″)exit (1);  /*  打开不成功退出  */
 }
  while  (feof (fp2))  /* 测试文件是否结束 */
   { 
 if (fgets (buffer,64,fp2)!= NULL)  /*读一行字符并测试是否为空*/
       printf (%s″,buffer);  /* 显示该行字符 */
    }
fclose (fp2);  /*  关闭文件  */
 }

2.从键盘输入若干行字符,把它们添加到磁盘文件 datafile3.txt 中。

#include  <stdio.h>
void main()
{ FILE  * fp3;
char  buffer[64]if ((fp3 = fopen (″ datafile3.txt ″,″ a ″))== NULL)  /* 打开文件 */
{  
printf (″ can ′t  open  file  \ n ″)exit (1)}
while  (strlen (fgets ( buffer,64stdin))> 0)
/* 从键盘读一行字符,并测试读入的字符串长度是否为0 */
{ 
fputs (buffer,fp3);              /*  写入磁盘文件  */
fputs (″\ n″,fp3);               /*  添加分隔标志  */
 }
 fclose(fp3);                    /*  关闭文件  */
 }

3.编写一个通用的显示磁盘文件内容的程序。

#include <stdio.h>
void main (int  argc,char  *argv[] )
{ 
 FILE  * fp4;
char  buffer [128]if ((fp4 = fopen (argv [1],″ r ″))== NULL)  /*从命令行取文件名,打开文件 */
{ 
printf (″ file  cannot  be  opened \ n ″); exit (1)}
 while (fgets (buffer,128,fp4)!= NULL )  /* 读一行字符 */
printf (%s ″,buffer);                    /*  显示字符串  */
 fclose (fp4);                                  /*  关闭文件  */
 }

6.编程完成读出文件 sfile.txt 中的内容,反序写入另一个文件 dfile.txt 中去。

#include <stdio.h>
#define  BUFFSIZE  5000
void main ()
{ 
  FILE  *sfp,*dfp;
  int   i;
  char  buf [ BUFFSIZE ]if ((sfp = fopen (″sfile.txt″,″ r″))== NULL) /* 以只读方式打开源文件 */
{ 
printf (″Source file cannot be opened \ n″)exit (1)}
if ((dfp = fopen (″dfile.txt″,″w″)))  /* 以只写方式打开目的文件 */
{ 
printf (″Destination file cannot be opened \ n″)exit (1)}
i = 0while  (feof (sfp))    /* 判断是否是文件尾,不是则循环 */
{ 
buf [ i++ ]fgetc (sfp);     /* 读出数据送缓冲区 */
if ( i >5000 )    /* 若 i 超出 5000,程序设置的缓冲区不足 */
{ 
printf (″buffer not enough !″)exit (1);        /* 退出 */
}
}
while  ( -- i >0)                         /* 控制反序操作 */
fputc (buf [ i ],dfp);                   /* 写入目的文件中 */
fclose (sfp);                           /*  关闭原文件   */
fclose (dfp);                            /*  关闭目的文件  */
 }