C文件接口
hello.c写文件
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp = fopen("myfile", "w");
if(!fp){
printf("fopen error!\n");
}
const char *msg = "hello bit!\n";
int count = 5;
while(count--){
fwrite(msg, strlen(msg), 1, fp);
}
fclose(fp);
return 0;
}
hello.c读文件
#include<stdio.h>
2 #include <string.h>
3 int main()
4 {
5 FILE *fp = fopen("myfile", "r");
6 if(!fp){
7 printf("fopen error!\n");
8 }
9 char buf[1024];
10 const char *msg = "hello bit!\n";
11 while(1){
12 //注意返回值和参数,此处有坑,仔细查看man手册关于该函数的说明
13 ssize_t s = fread(buf, 1, strlen(msg), fp);
14 if(s > 0){
15 buf[s] = 0;
16 printf("%s", buf);
17 }
18 if(feof(fp)){
19 break;
20 }
21 }
22 fclose(fp);
23 return 0;
24 }
输出信息到显示器,你有哪些方法
#include <stdio.h>
#include <string.h>
int main()
{
const char *msg = "hello fwrite\n";
fwrite(msg, strlen(msg), 1, stdout);
printf("hello printf\n");
fprintf(stdout, "hello fprintf\n");
return 0;
}
stdin & stdout & stderr
C默认会打开三个输入输出流,分别是stdin, stdout, stderr。
仔细观察发现,这三个流的类型都是FILE*, fopen返回值类型,文件指针。