第一章Linux标准IO编程
2014-11-08 11:35
363 查看
源码来自华清远见的书上例子
一.实例一
mycp_1.c
二.实例二
mycp_2.c
三.实例三
mycp_3.c
四.实例四
timer_record
一.实例一
mycp_1.c
#include <stdio.h> #include <string.h> #include <errno.h> int main(int argc, char *argv[]) { FILE *fps, *fpd; int c; if (argc < 3) { printf("Usage : %s <src_file> <dst_file>\n", argv[0]); return -1; } if ((fps = fopen(argv[1], "r")) == NULL) { printf("fail to open %s : %s\n", argv[1], strerror(errno)); return -1; } if ((fpd = fopen(argv[2], "w")) == NULL) { printf("fail to open %s : %s\n", argv[2], strerror(errno)); return -1; } while ((c = fgetc(fps)) != EOF) { fputc(c, fpd); } fclose(fps); fclose(fpd); return 0; }
二.实例二
mycp_2.c
#include <stdio.h> #include <string.h> #include <errno.h> #define N 64 int main(int argc, char *argv[]) { FILE *fps, *fpd; char buf ; if (argc < 3) { printf("Usage : %s <src_file> <dst_file>\n", argv[0]); return -1; } if ((fps = fopen(argv[1], "r")) == NULL) { printf("fail to open %s : %s\n", argv[1], strerror(errno)); return -1; } if ((fpd = fopen(argv[2], "w")) == NULL) { printf("fail to open %s : %s\n", argv[2], strerror(errno)); return -1; } while (fgets(buf, N, fps) != NULL) { fputs(buf, fpd); } fclose(fps); fclose(fpd); return 0; }
三.实例三
mycp_3.c
#include <stdio.h> #include <string.h> #include <errno.h> #define N 64 int main(int argc, char *argv[]) { FILE *fps, *fpd; char buf ; int n; if (argc < 3) { printf("Usage : %s <src_file> <dst_file>\n", argv[0]); return -1; } if ((fps = fopen(argv[1], "r")) == NULL) { printf("fail to open %s : %s\n", argv[1], strerror(errno)); return -1; } if ((fpd = fopen(argv[2], "w")) == NULL) { printf("fail to open %s : %s\n", argv[2], strerror(errno)); return -1; } while ((n = fread(buf, 1, N, fps)) > 0) { fwrite(buf, 1, n, fpd); } fclose(fps); fclose(fpd); return 0; }
四.实例四
timer_record
#include <stdio.h> #include <unistd.h> #include <time.h> #include <string.h> #define N 64 int main(int argc, char *argv[]) { FILE *fp; time_t t; struct tm *tp; char buf ; int line = 0; if (argc < 2) { printf("Usage : %s <file>\n", argv[0]); return -1; } if ((fp = fopen(argv[1], "a+")) == NULL) { perror("fail to fopen"); return -1; } while (fgets(buf, N, fp) != NULL) { if (buf[strlen(buf)-1] == '\n') line++; } while ( 1 ) { time(&t); tp = localtime(&t); fprintf(fp, "%d, %d-%d-%d %d:%d:%d\n", ++line, tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec); fflush(fp); sleep(1); } return 0; }
相关文章推荐
- Linux编程-标准IO(2)
- Linux系统编程:标准IO操作--索引对应路径下的文件
- Linux编程-标准IO(3)
- 2.Linux应用编程——标准IO
- 二、linux IO 编程---系统调用和POSIX标准和标准IO
- 【linux草鞋应用编程系列】_1_ 开篇_系统调用IO接口与标准IO接口
- Linux系统编程:标准IO操作--索引对应路径下的文件
- Linux应用编程基础--(1)标准IO
- Linux编程-标准IO(4)-临时文件
- linux编程-标准IO
- linux系统编程之基础必备(二):C 标准IO 库函数与Unbuffered IO函数
- (转)Linux IO多路复用之epoll网络编程
- Linux文件IO编程
- linux 标准IO缓冲机制探究
- linux 文件IO和标准IO
- Linux高级文件编程 标准C部分笔记
- Linux下C编程,进程通信之标准流管道通信(即系统调用)
- linux 标准IO缓冲机制探究
- linux 内核驱动编程 简单例子 与_IO, _IOR, _IOW, _IOWR 宏解析
- linux 内核驱动编程 简单例子 与_IO, _IOR, _IOW, _IOWR 宏解析