- 论坛徽章:
- 5
|
#include <stdio.h>
#include <string.h>
#define DATAFILE "datafile"
FILE *
open_data(void)
{
FILE *fp;
char databuf[BUFSIZ]; /* setvbuf makes this the stdio buffer */
if ((fp = fopen(DATAFILE, "r")) == NULL)
return(NULL);
if (setvbuf(fp, databuf, _IOLBF, BUFSIZ) != 0)
return(NULL);
return(fp); /* error */
}
void foo() {
FILE *dummy = 0;
char databuf[BUFSIZ] = {};
dummy = 0; // use it, or compiler will remove it.
strncpy(databuf, "xhello", 5);
}
int main(void)
{
char buf[BUFSIZ];
FILE* fp = open_data();
if (fp != NULL)
{
char a = fgetc(fp);
foo();
fgets(buf, BUFSIZ, fp);
printf("%c%s\n", a, buf);
fclose(fp);
}
return 0;
}
试试这个。需要有datafile文件,内容随意,就比如是foo吧。 |
|