C语言C语言中 fputs() fgets() 的利用办法

 

  一、读字符串函数fgets函数的效果是自指定的文件被读一个字符串到字符数组中,函数调用的款式为:
fgets(字符数组名,n,文件指针);
其中的n是一个恰巧整数。表示于文本被读来底字符串不越
n-1只字符。在读入的结尾一个字符后增长串了标志’/0’。例如:fgets(str,n,fp);的意义是由fp所指的文书中读来n-1只字符送入字符数组str中。

  [例10.4]从e10_1.c文本中读入一个含有10单字符的字符串。

#include
main()
{
FILE *fp;
char str[11];
if((fp=fopen(“e10_1.c”,”rt”))==NULL)
{
printf(“Cannot open file strike any key exit!”);
getch();
exit(1);
}
fgets(str,11,fp);
printf(“%s”,str);
fclose(fp);
}

  本例定义了一个字符数组str共11单字节,在坐朗诵文件文件方式打开文件e101.c晚,从中读来10独字符送入str数组,在勤组最终一个单元内用丰富’/0’,然后以屏幕上展示输出str数组。输出的十只字符正是例10.1先后的前头十独字符。

  对fgets函数有有限沾说明:

  1. 当读出n-1只字符之前,如遇上了易行符或EOF,则读来得了。

  2. fgets函数也发返值,其归来回值是字符数组的首地址。

  二、写字符串函数fputs

  fputs函数的效果是往指定的文本写副一个字符串,其调用形式也:
fputs(字符串,文件指针) 其中字符串可以是字符串常量,也得以是字符数组名,
或指针 变量,例如:

fputs(“abcd“,fp);

  其含义是拿字符串“abcd”写副fp所指的文件中。[例10.5]以条例10.2遇起的文本string中增一个字符串。

#include
main()
{
FILE *fp;
char ch,st[20];
if((fp=fopen(“string”,”at+”))==NULL)
{
printf(“Cannot open file strike any key exit!”);
getch();
exit(1);
}
printf(“input a string:/n”);
scanf(“%s”,st);
fputs(st,fp);
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
printf(“/n”);
fclose(fp);
}

  本例要求于string文件末加写字符串,因此,在先后第6行以追加读写文本文件的方法打开文件string
。 然后输入字符串,
并用fputs函数把欠失误写副文件string。在程序15执行用rewind函数把公文里位置指针移到文件首。
再入循环逐个亮当前文件中之全部内容。

http://blog.csdn.net/xiaciping/article/details/1094138