C语言标准库函数""fgets(string,n,fp)""的功能是()。
第1题:
函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),其功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字爷串数组string中。最后调用函数Wdata(),把结果string输出到OUT.dat文件中。
例如,原文:dAe, BfC.
CcbbAA
结果:,. ABCdef
AACbbc
原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。
include <stdio.h>
include <string.h>
include <conio.h>
char string [50] [80];
int maxline = 0; /* 文章的总行数 */
int Rdata (void);
void Wdata (void);
void SortCharA(void)
{
}
void main ()
{ if (Rdata ())
{ printf("数据文件 IN. dat 不能打开! \n\007");
return;
}
SortCharA ();
Wdata ( );
}
int Rdata (void)
{ FILE *fp;
int i = 0;
char *p;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
while (fgets(string[i], 80, fp) != NULL)
{ p = strchr(string[i], '\n');
if (p)
*p = 0;
i++;
}
maxline = i;
fclose (fp);
return 0;
}
void Wdata (void)
{ FILE *fp;
int i;
fp = fopen("OUT. dat", "w");
for (i=0; i<maxline; i++)
{ printf("%s\n", string[i]);
fprintf(fp, "%s\n", string[i]);
}
fclose (fp);
}
第2题:
fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是 ( )
A.字符串读入后不会自动加入'\0'
B.fp是file类型的指针
C.fgets函数从文件中最多读入n-1个字符
D.fgets函数从文件中最多读入n个字符
第3题:
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),并写入文件myfile4.txt中,用-1作为字符串输入结束的标志,然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
include<stdio.h>
include<string.h>
include<stdlib.h>
void WriteText(FILE *);
void ReadText(FILE *);
main()
{
FILE *fp;
if((fp=fopen("myfile4.txt", "W"))==NULL)
{
printf("open fail !!\n"); exit(0);
}
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4.txt", "r"))==NULL)
printf("open fail !!1\n"); exit(0);
}
ReadText(fp);
fclose(fp);
}
/*********found*********/
void WriteText(FILE (1) )
{
char str[81];
printf("\nEnter string with -1 to end :\n");
gets(str);
while(strcmp(Str, "-1")!=0){
/**********found*********/
fputs( (2) , fw);
fputs("\n", fw);
gets(str);
}
}
void ReadText(FILE *fr)
{
char str[81];
printf("\nRead file and output to screen :\n");
fgets(str, 81, fr);
while( !feof(fr)){
/**********found**********/
printf("%s", (3) );
fgets(str, 81, fr);
}
}
第4题:
若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是( )。
A.EOF
B.-1
C.1
D.NULL
第5题:
标准库函数fgets(s,n,file)的功能是( )。
A.从文件file中读取长度为n的字符串存入字符数组s中
B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组s中
C.从文件file中读取n个字符串存入字符数组s中
D.从文件file中读取长度为n-1个字符的字符串存入字符数组s中
第6题:
标准库函数fgets(s,n,f)的功能是( )
A.从文件f中读取长度为n的字符串存入指针s所指的内存
B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C.从文件f中读取n个字符串存入指针s所指的内存
D.从文件f中读取长度为n-1的字符串存入指针s所指的内存
第7题:
若fp是指向某文件的指针,已读到此文件末尾,则库函数feof(fp)的返回值是______。
A.EOF
B.0
C.非零值
D.NULL
第8题:
阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。
【函数1.1说明】
本程序可以打印出如下图形(菱形):
*
***
*****
*******
*****
***
*
【函数2.1】
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for((1))
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for((2))
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
【函数2.2说明】
通过本程序,可以从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“CsaiWgm”中保存,输入的字符串以“!”结束。
【函数2.2】
include "stdio.h"
main()
{
FILE *fp;
char str[100],filename[10];
int i=0;
if((fp=fopen("CsaiWgm","w"))==NULL)
{
printf("cannot open the file\n");
exit(0);
}
printf("please input a string:\n");
gets(str);
while((3))
{
if(str[i]>='a'&&str[i]<='z')
str[i]=(4);
fputc(str[i],fp);
(5);
}
fclose(fp);
fp=fopen("CsaiWgm","r");
fgets(str,stden(str)+1,fp);
printf("%s\n",str);
fclose(fp);
}
第9题:
C语言库函数fgets(str,n,fp)的功能是 ______。
A.从fp指向的文件中读取长度n的字符串存入str旨向的内存
B.从fp指向的文件中读取长度不超过n-1的字符串存入str指向的内存
C.从fb指向的文件中读取n个字符串存入str指向的内存
D.从str读取至多n个字符到文fp
第10题:
有以下程序 #include <string.h>main(){ FILE *fp; int i,k,n; fp=fopen("data.dat", "w+"); for(i=4; i<9; i++) { fprintf(fp,"%d",i); if(i%3==0) fprintf(fp,"\n"); } rewind(fp); fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n); fclose(fp);} 程序的运行结果是A.0 0 B.4 5C.45 78 D.456 78