- 论坛徽章:
- 0
|
请教一段程序的写法
既然文件结构是已知的,就可以按行读取文件内容,并对读到的内容按照格式控制进行处理。
- #include <stdio.h>;
- #include <string.h>;
- #include <stdlib.h>;
- char *readln(FILE *stream, char *Buffer, int Bufferlen)
- {
- char Letter;
- int Position;
- size_t read;
- read = 0;
- Position = 0;
- Letter = '\0';
- Buffer[0] = Letter;
- while ((Position < Bufferlen) && (Letter != '\n'))
- {
- read = fread(&Letter, 1, sizeof(char), stream);
- Buffer[Position++] = Letter;
- if (Letter == '\n')
- --Position;
- }
- Buffer[Position] = 0;
- if (read == 0)
- return NULL;
- else
- return Buffer;
- }
- int main()
- {
- int LineCount = 1;
- char Buffer1[128];
- FILE *infile;
- int ret;
- int a,b;
- if ((infile = fopen("readln.c","r")) == NULL)
- {
- printf("Can not read \"readln.c\"; aborting.\n");
- return -1;
- }
- while (readln(infile, Buffer1, sizeof(Buffer1)) != NULL)
- {
- ret=sscanf(Buffer1,"%d %d",&a,&b);
- printf("line %d: a=%d, b=%d\n", LineCount++,a,b );
- }
- return 0;
- }
- readln.c 文件内容如下:
- 1 1
- 2 2
- 3 3
- 4 4
- 5 5
复制代码 |
|