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]:附加参数列表
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; }
相关文章推荐