首页 > 试题广场 >

分析以下函数,该函数的功能是?

[单选题]
分析以下函数,该函数的功能是()
void sca_from_file(int a[], int n, char fn[])
{
    FILE *fp;
    int i;
    fp = fopen(fn, "r");
    for (i = 0; i < n; i++)
    {
        fscanf(fp, "%d", &a[i]);
    }
    fclose(fp);
}


  • 打开文件fn,从文件中读出n个整数到数组a中
  • 打开文件fn,将数组a的n个元素写到文件中
  • 打开文件fn,从文件中读出n,再读n个整数到数组a中
  • 打开文件fn,将n和数组a的n个元素依次写到文件中
推荐
fscanf通过文件指针fp从文件流中读取数据,一次读取一个整数,共读取n次;但有个疑问,fclose的位置应该在for循环之后的。

选A
编辑于 2015-01-31 10:11:17 回复(2)
答案:A
fscanf()作用是从文件流中读取数据,fprintf()是将数据写入到文件。不要搞混。
格式:int fscanf(FILE*stream,constchar*format,[argument...]);
参数:%d:读入一个十进制整数.
%s : 读入一个字符串,遇空字符‘\0'结束。
%c : 读入一个字符。无法读入空值。空格可以被读入。
所以这里是从文件中读出n个整数到数组a中
发表于 2015-01-28 15:44:34 回复(0)
由fp = fopen(fn, "r");看出文件是只读的,所以选A
发表于 2015-08-15 15:08:46 回复(2)
fscanf位于头文件<stdio.h>中,函数原型为int fscanf(FILE*stream, constchar*format, [argument...]); 其功能为根据数据格式(format)从输入流(stream)中写入数据(argument);与fgets的差别在于:fscanf遇到空格和换行时结束,注意空格时也结束,fgets遇到空格不结束。
发表于 2017-08-01 09:37:07 回复(0)
fscanf 从文件中输入,读文件
fprint 从文件中输出,写文件
发表于 2018-09-29 08:59:19 回复(0)
fscanf通过文件指针fp从文件流中读取数据;fprintf是将数据写入到文件;
发表于 2022-05-18 16:00:03 回复(0)
这是文件io的题吧
发表于 2023-11-09 11:50:48 回复(0)
从方法名和读写权限就可以知道一切了【手动滑稽】
发表于 2019-06-18 16:22:06 回复(0)
fscanf通过文件指针fp从文件流中读取数据;fprintf是将数据写入到文件;
发表于 2018-09-04 22:01:36 回复(0)
int fscanf(文件指针,格式字符串,输入表列 )返回值:返回输入的数据个数,操作不成功返回EOF
fprintf(fp, "%d, %6.2f",   i, t),将整型变量 i 和实型变量 t 的值按%d和%6.2f的格式输出到fp所指向的文件中;
从文件中读取数据时,则应用:fscanf(fp, "%d, %f",   &i, &t)
发表于 2016-07-07 17:23:17 回复(0)
答案 B
函数名: fscanf
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。
用法:
1
int fscanf(FILE*stream,constchar*format,[argument...]);
FILE *stream:文件指针;
char *format:格式字符串;
[argument...]:输入列表。
编辑于 2015-01-22 14:23:12 回复(1)