文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司 Guangzhou Tronlong Electronic Technology Co., Ltd 文件读写实践 01 广州创龙电子科技有限公司
01 系统调用文件读写实例 02 标准 I/O 库文件读写实例 03 系统调用与标准 I/O 库的比较 02 广州创龙电子科技有限公司
系统调用文件读写实例 #include <unistd.h> #include <sys/stat.h> #include <fcntl.h> #define INPUT_FILE_NAME "1m_data.file" #define OUTPUT_FILE_NAME "1m_data.file.copy" int main() { char c = '\0'; int in = -1, out = -1; in = open(INPUT_FILE_NAME, O_RDONLY); // If not exist, creates it, if do, truncates it. out = open(OUTPUT_FILE_NAME, O_WRONLY | O_TRUNC | O_CREAT, S_IRUSR | S_IWUSR); while(read(in, &c, 1) == 1) { write(out, &c, 1); } close(in); close(out); return 0; 05 广州创龙电子科技有限公司
标准 I/O 库文件读写实例 #include <stdio.h> #define INPUT_FILE_NAME "1m_data.file" #define OUTPUT_FILE_NAME "1m_data.file.copy" int main() { int c = 0; FILE *pfin = NULL; FILE *pfout = NULL; pfin = fopen(INPUT_FILE_NAME, "r"); pfout = fopen(OUTPUT_FILE_NAME, "w"); while(fread(&c, sizeof(char), 1, pfin)) { fwrite(&c, sizeof(char), 1, pfout); } fclose(pfin); fclose(pfout); return 0; 05 广州创龙电子科技有限公司
系统调用与标准 I/O 库的比较 1、性能比较 - 逐个字节读写 1Mb 的文件数据。 系统调用 标准 I/O 库 2、缓冲 3、可移植性 open 系列系统调用由 POSIX 标准定义,只能在支持该标准的系统上使用。而标准 I/O 库在实现了 C 标准的系统都可以使用,可移植性更高。 4、特殊文件读写 应用于管道、套接字、设备文件等“文件”时,只能使用系统调用进行读写。 05 广州创龙电子科技有限公司
广州创龙电子科技有限公司 谢谢 官网:http://tronlong.com/ 论坛:http://51dsp.net 微信公众号:广州创龙