- 浏览: 1474375 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
准备所有的类都去掉apue.h就niuB了,fig1.4开始
ok
用vim解决,ctags -R -f systag /usr/include/ /mydir
把systag加入~/.vimrc
vim编辑的时候control+]跳到找不到了定义就行了
在P O S I X . 1应用程序中,幻数0、1、2应被代换成符号常数S T D I N F I L E N O、S T D O U T F I L E N O和S T D E R R F I L E N O。这些常数都定义在头文件< u n i s t d . h >中。
fcntl.h与unistd.h
http://baike.baidu.com/view/3522799.htm
----------seek-------
[root@red54apple c]# gcc fig3_11.c
[root@red54apple c]# ./a.out < epoll-test.c
,不要测试它是否小于0,而要测试它是否等于-1。
--------------getopt----
函数说明 getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数 optstring为选项字符串, 告知 getopt()可以处理哪个选项以及哪个选项需要参数,如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数,全域变量optarg 即会指向此额外参数。如果在处理期间遇到了不符合optstring指定的其他选项getopt()将显示一个错误消息,并将全域变量optopt设为“?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可
ok
用vim解决,ctags -R -f systag /usr/include/ /mydir
把systag加入~/.vimrc
vim编辑的时候control+]跳到找不到了定义就行了
在P O S I X . 1应用程序中,幻数0、1、2应被代换成符号常数S T D I N F I L E N O、S T D O U T F I L E N O和S T D E R R F I L E N O。这些常数都定义在头文件< u n i s t d . h >中。
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #define BUFFSIZE 4096 int main(void) { int n; char buf[BUFFSIZE]; while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0) if (write(STDOUT_FILENO, buf, n) != n) printf("write error"); if (n < 0) printf("read error"); exit(0); }
fcntl.h与unistd.h
http://baike.baidu.com/view/3522799.htm
----------seek-------
#include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(void) { if (lseek(STDIN_FILENO, 0, SEEK_CUR) == -1) printf("cannot seek\n"); else printf("seek OK\n"); exit(0); }
[root@red54apple c]# gcc fig3_11.c
[root@red54apple c]# ./a.out < epoll-test.c
,不要测试它是否小于0,而要测试它是否等于-1。
--------------getopt----
函数说明 getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数 optstring为选项字符串, 告知 getopt()可以处理哪个选项以及哪个选项需要参数,如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数,全域变量optarg 即会指向此额外参数。如果在处理期间遇到了不符合optstring指定的其他选项getopt()将显示一个错误消息,并将全域变量optopt设为“?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可
#include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(int argc,char **argv) { int ch; opterr = 0; while((ch = getopt(argc,argv,"a:bcde"))!= -1) switch(ch) { case 'a': printf("option a:’%s’\n",optarg); break; case 'b': printf("option b :b\n"); break; default: printf("other option :%c\n",ch); } printf("optopt +%c\n",optopt); }
发表评论
-
weak_ptr解决循环引用问题
2021-03-08 21:12 1162C++11引入的三种智能指 ... -
gcc链接顺序
2019-10-12 18:25 621代码在 https://github.com/killinux ... -
c++11的function和bind
2019-09-10 16:12 530参考:https://www.cnblogs.co ... -
opengl的helloworld
2014-10-22 19:41 9001.我提供一个不需要配置环境就可运行的源码。 glut.h放在 ... -
画图板用c++实现和用js实现的websocket版本
2014-10-17 13:02 2127画图板 opencv的c++ #include <o ... -
c语言内存
2014-07-02 10:26 6941、C中内存分为五个区 栈:用来存放函数的形参和函数内的局部变 ... -
重定向stdout到文件
2014-03-05 18:37 5483把stdout重定向到文件 两种方法: 第一种方法没有恢复 ... -
通过nginx远程执行shell
2014-03-03 10:26 5079saltstack远程执行shell,远程管理等返回json已 ... -
c的urldecode
2014-02-28 18:22 1356#include <stdio.h> #in ... -
pthread的pthread_mutex_lock 的使用
2014-02-25 16:54 26138参考http://haoningabc.iteye.com/b ... -
c调用c++
2013-10-12 15:24 1174参考 http://www.cppblog.com/frank ... -
用C语言,实现接收管道输出的结果,并显示
2013-04-23 21:35 1941在shell里利用“|”管道干的事情就是io重定向,把“|”命 ... -
关于char * 与 char[]
2013-04-22 21:56 960问题引入: 在实习过程中发现了一个以前一直默认的错误,同样ch ... -
单向链表翻转
2012-12-25 23:41 1018临时笔记,创建一个链表 #include <stdl ... -
trie 树 的代码
2012-12-14 23:20 1136想起搜狐老大的一句话 看代码先看h文件,擦,当初感觉他这句话很 ... -
指针函数与函数指针的区别
2012-12-14 22:44 1194一、 1、指针函数是指带指针的函数,即本质是一个函数。函数返回 ... -
指针和数组
2012-11-14 22:40 1066转载http://kan.weibo.com/con/3512 ... -
js备份
2012-10-31 23:56 1724<!DOCTYPE HTML PUBLIC " ... -
线程的helloworld
2012-10-30 21:51 1603#include<stdio.h> #inc ... -
c的书籍
2012-10-30 10:56 1127http://www.acm.uiuc.edu/webmonk ...
相关推荐
在APUE.2E中,读者可以学习到标准I/O库的使用,如stdio.h中的函数,以及低级I/O(如read、write)和缓冲I/O。此外,书中还涵盖了文件描述符的重定向、管道、FIFO(有名管道)以及套接字等网络I/O。 三、进程间通信 ...
APUE对文件I/O进行了全面阐述,包括标准I/O库、低级I/O接口(open、read、write、close等函数)以及文件定位和文件状态。例如,你可以学习如何打开一个文件,读取和写入数据,以及如何处理文件错误。在实际编程中,...
APUE详述了常用系统调用的功能和用法,如open、read、write、close、fork、exec等。 5. **标准库函数**:除了系统调用外,C标准库提供了大量便利的函数。APUE解释了这些函数的工作原理,如malloc、free、printf、...
APUE详细介绍了各种系统调用,如`open()`、`close()`、`read()`、`write()`用于文件操作,`fork()`、`exec()`、`wait()`用于进程控制,以及`signal()`用于处理异步信号。 2. **进程管理**:包括进程创建(`fork()`...
3. **系统调用与库函数**:讲解系统调用(如open、read、write)和C库函数(如fopen、fread、fwrite)的区别,以及何时选择使用它们。 4. **文件描述符与文件状态标志**:了解如何使用文件描述符进行并发访问,以及...
2. **文件和I/O操作**:UNIX提供了丰富的文件操作函数,如open、read、write、close等,以及标准I/O库。源码可能涉及到缓冲I/O、非阻塞I/O、异步I/O的实现。 3. **信号处理**:信号是UNIX中进程间交互的一种方式,...
8. **系统调用和库函数**:APUE详尽解析了许多常见的系统调用,如open、read、write、close等,以及它们对应的库函数,帮助读者理解这些底层接口的工作原理。 9. **错误处理**:强调了正确处理和报告错误的重要性,...
2. **文件I/O**:APUE中详细讲解了标准I/O库和低级I/O操作,如open、read、write、close、lseek等函数。测试代码会展示如何进行文件读写、文件定位、异步I/O以及错误处理。 3. **系统调用与库函数**:书中涵盖了...
1. **Unix系统调用**:掌握Unix提供的各种系统调用,如`open()`, `close()`, `read()`, `write()`等,以及它们在进程I/O、文件操作中的应用。 2. **进程间通信(IPC)**:了解管道、套接字、信号量、共享内存等IPC...
`open()`, `read()`, `write()`, `close()`等函数是进行文件操作的基础。 3. **标准I/O库**:介绍了C语言的标准I/O库,包括`stdio.h`中的`printf()`、`scanf()`等函数,以及缓冲I/O和无缓冲I/O的区别。 4. **进程...
1. **系统调用**:了解如open(), read(), write(), close()等基本的I/O操作,并熟悉它们的使用场景和返回值处理。 2. **文件描述符**:理解文件描述符的概念,以及它们如何在进程间共享。 3. **进程管理**:掌握...
4. **系统调用和库函数**:详细讲解各种系统调用(如fork、exec、wait、open、read、write等)及其对应的库函数,如何正确使用它们进行程序开发。 5. **信号**:信号是UNIX系统中进程间通信的一种方式,书中会解释...
2. **文件I/O**:文件操作是UNIX编程的基础,源代码中包含了标准I/O库函数(如fopen(), fread(), fwrite(), fclose()等)和低级I/O函数(如open(), read(), write(), close()等)的使用示例。这有助于理解文件操作的...
2. **文件I/O**:学习open()、close()、read()、write()等基本文件操作函数,以及标准I/O库的使用,还有文件描述符、缓冲区管理和异步I/O。 3. **管道与FIFO**:掌握如何使用pipe()创建管道进行进程间通信,以及...
#### 3.7 read Function(read函数) 这里详细描述了如何使用read函数从文件中读取数据。 #### 3.8 write Function(write函数) 这部分解释了如何使用write函数向文件中写入数据。 #### 3.9 I/O Efficiency(I/O...
《APUE》(Advanced Programming in the Unix Environment)是UNIX系统编程的经典著作,由Steven R. Mc Quarrie撰写,深入探讨了UNIX环境下高级编程的各种技术。本压缩包包含了一系列独立章节的PDF文档,方便读者按...
2. **文件I/O**:涉及标准I/O库(fopen()、fclose()、fprintf()等)和低级I/O(open()、read()、write()、close())的使用,以及文件定位(lseek())和文件描述符管理。 3. **信号处理**:讲解如何使用signal()、...
1. **系统调用**:APUE详细介绍了各种系统调用,如open、close、read、write等基本I/O操作,以及fork、exec、wait等进程控制函数。这些系统调用是UNIX系统中进程与硬件交互的基础。 2. **进程管理**:书中深入讨论...