|
沙发
楼主 |
发表于 2009-7-8 05:45:58
|
只看该作者
一个完整的读取程序,读取完,并输出:
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
int main()
{
fpos_t position;
FILE *stream;
char mingyan[1000];
char *p = mingyan;
stream = fopen("my.txt", "r");
if (stream == NULL){
perror("errno");
exit(1);
}
while ( fread(p, 3, 1, stream) != 0 ) {
while (*p != '\\n') {
p += 3;
fread(p, 3, 1, stream);
}
p++;
*p = '\\0';
printf("%s", mingyan);
p = mingyan;
fseek(stream, -2, SEEK_CUR);
}
fclose(stream);
return 0;
} 说明:
此段程序读取的是 UTF-8 编码的中文,所以一次读入 3 个字节。因为遇到换行符 '\\n' 时,此符号只占用一个字节,所以要进行文件指针的移动:
fseek(stream, -2, SEEK_CUR); |
|