您的位置:首页 > 职场人生

C面试宝典-(程序题)1

2016-06-17 23:04 274 查看
1.fscanf()函数

fscanf()遇到空格和换行时结束,注意空格时也结束,fgets遇到空格不结束。

功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。

返回值:整型,成功返回读入的参数的个数,失败返回EOF(-1)。

用法:

int fscanf(FILE*stream,constchar*format,[argument…]);

FILE *stream:文件指针

char *format:格式字符串

[argument…]:输入列表

2.fprintf()函数

格式化输出到一个流/文件中

用法:

int fprintf (FILE* stream, const char*format, [argument])

FILE*stream:文件指针

const char* format:输出格式

[argument]:附加参数列表

#include <stdio.h>
#include <stdlib.h>
int main()
{
int MAX = 10;
//a用来临时存放数据,如果超过范围,使用b重新申请空间
int *a = (int *)malloc(MAX*sizeof(int));
int *b;
FILE *fp1;
FILE *fp2;
fp1 = fopen("a.txt", "r");
//打开文件
if(fp1 == NULL)
{
printf("error");
exit(-1);
}
fp2 = fopen("b.txt", "w");
if(fp2 == NULL)
{
printf("error");
exit(-1);
}
int i = 0;
int j = 0;
while(fscanf(fp1, "%d", &a[i]) != EOF)
{
i++;
j++;
//数据数量过大重新分配空间
if(i >= MAX)
{
MAX = 2*MAX;
b = (int *)realloc(a, MAX * sizeof(int));
if(b == NULL)
{
printf("error3");
exit(-1);
}
a = b;
}
}
//将数据转入fp2
for(;--j >= 0;)
{
fprintf(fp2, "%d\n", a[j]);

97d1
}
fclose(fp1);
fclose(fp2);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: