. x2 ?2 \& [! | #include <stdio.h># ]! @1 X |* d: A9 A
#include <stdlib.h> 1 K/ e' P, e, F2 G8 v 8 A7 v' d9 a, {! C) |/ V int main(int argc, char *argv[])# [$ h4 t) H! u; x( Z
{ . C7 w* P5 \: U2 l$ Z/ B9 w8 D& { FILE *fp; * ~# u* R X9 s8 ]8 K char ch;7 x: b' A6 |) k" R7 j
( K2 @ [7 y" i: J2 k8 D if((fp=fopen("test","r"))==NULL) { 5 A0 T2 H4 J# u+ W" |( E( u printf("Cannot open file.\n");$ B1 Y7 N# v T
exit(1);, X( K4 L. y1 c. M$ N) k
}! P* I5 ?4 U) ?. ]5 y# P
# K- i+ D0 M) F2 |
while((ch=fgetc(fp)) != EOF) {' {6 C; W1 e$ u8 l
printf("%c", ch); , U y8 F9 d% t5 f. z$ X$ r } 4 C4 {+ d w, t/ n9 R O fclose(fp);3 x3 A: w+ F% D8 e$ `, p
# G/ j/ S3 V" j+ I0 ~3 L return 0; - @5 Q* g& u1 [2 ^: A2 p1 ~+ W } ; u( i- B, y \ + T1 T$ b2 N5 I; n 下面给出另外一个例子: & u! Z. F( H% P2 \: k+ W& a0 g $ g/ n8 i7 _- e2 ]( F' G#include <string.h> ' X# f/ Z! f. T, a* e4 T; u #include <stdio.h>% [5 _" i {9 C% k1 E
#include <conio.h> ' S H! r2 q4 L% _$ x E. O) Y l! r , p& v8 x' e# X4 T
2 Z6 z4 l! Q, _9 ?2 T
int main(void) 3 Q9 w* W- h* h$ R7 `. u& e [ { : G/ f S4 X8 t8 v" p$ r FILE *fp; $ q! i5 Y1 K& z
char string[] = "This is a test"; " _8 q4 q# i' [( F8 E, P& o char ch; & v3 W) T% _; s- {6 W$ @' | |3 B /* 以读写方式打开一个名为test.txt的文件 */ ; m; `/ v6 X7 z( R fp = fopen("test.txt", "w+"); # E! R; Q* Q& t3 m8 m' d$ F
/* 向文件中写入字符串string *// Z. ~3 X4 _2 j, b% I
fwrite(string, strlen(string), 1, fp); L4 [' z. }5 G8 \2 _# g
/* 将fp指针指向文件首 */# i8 _- V3 N4 t U2 Y
fseek(fp, 0, SEEK_SET); + _- V( J* W7 q; T do , R' _5 F: x) @+ z; x { _# X: U$ Q |! E* I5 s+ d. D
/* 从文件中读一个字符 */ 5 n) l5 f6 k( Z; L2 H! {& u0 ?+ f ch = fgetc(fp); 8 N, b7 [3 f% ~/ g) ^0 L$ v/ n
/* 显示该字符 */ + C D3 Z, v7 N putch(ch); . _0 @& o8 p* f d" _) B, N
} while (ch != EOF); 7 a) b, j6 l4 i7 P fclose(fp); # n+ a7 M2 i0 _; s8 D5 d/ b+ {
return 0; / i4 @. o" c- c8 q. n# ] } , F) _; ~% q- [% S G- D* X& C! n, c" l
例程说明: : ~8 Q8 b- a) G$ V9 M$ O$ c3 j ~' m: s9 l2 H8 b' [
(1)首先程序先以读写方式打开一个名为test.txt的文件,并向该文件中写入一个字符串。+ C+ @# R% m. F% {5 D5 X6 p3 Q
c/ g0 O% e/ k. z) d2 f2 j L(2)再应用fseek函数将文件指针fp定位在文件的开头,再循环地将字符逐一读出。这里每读出一个字符,指针fp会自动地向后移一个字节,直至读到文件尾,即EOF标志,循环才停止。因为fgetc函数的返回值为得到的字符,所以用一个字符型变量ch 来接受读出的字符。! [; H Y2 W& T# Q* t+ n
1 Z7 z I" q1 v. {6 J% w
(3)最后的运行结果是在屏幕上打印出This is a test字符串。