在Linux下实现简单的cp命令。这是《APUE》第四章的其中一道练习题。其实思路很简单,弄清规则就行了。规则1:源文件必须得存在,否则出错;规则2:目的文件若不存在则创建,若存在,则提示是否覆盖,是就覆盖,不是就重新建一个。下面给出代码: 1 /* 实现简单的cp命令 */ 2 #include ...
分类:
其他好文 时间:
2015-01-29 20:55:59
阅读次数:
269
#include "apue.h"#include int main(int argc, char* argv[]){ DIR* dp; struct dirent* dirp; if (argc != 2) err_quit("usage: ls directory...
分类:
其他好文 时间:
2015-01-29 09:16:48
阅读次数:
139
这是我的第一篇关于UNIX环境高级编程的日志,使用g++编译libapue.a #include "apue.h" #define BUFFSIZE 4096 int main()
{ int n; char buf[BUFFSIZE]; while ((n = read(STDIN_FILENO,...
分类:
其他好文 时间:
2015-01-28 21:10:57
阅读次数:
115
ndbm:linux/unix的数据库
dbm/ndbm:dbm是老版本,ndbm是新版本
gdbm:gnu版本
db:最新版本...
分类:
数据库 时间:
2015-01-26 15:15:38
阅读次数:
203
本文主要总结linux终端和伪终端相关的API。...
分类:
其他好文 时间:
2015-01-21 15:18:51
阅读次数:
241
线程有时称为轻权进程。
进程的所有信息对该进程的所有线程都是共享的。
每个线程有一个线程ID,线程ID只在它所属的进程环境中有效。...
分类:
编程语言 时间:
2015-01-14 12:49:20
阅读次数:
300
一、main函数。main函数的原型如下。argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。int main(int argc, char *argv[])当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程。可执行程序文件将此启动例程指定为程序的...
分类:
系统相关 时间:
2015-01-10 17:49:41
阅读次数:
233
原题:
编写一个类似 cp 的程序,它复制包含空洞的文件,但不将字节0写到输出文件中去。
源代码:
#include
#include
#include
#include
#include
#define BUF_SIZ 128
int my_cp( const char *file1, const char *file2 )
{
int fd1, fd2;
c...
分类:
其他好文 时间:
2015-01-10 16:35:37
阅读次数:
144
原题:如果使用追加标志打开一个文件以便读、写,能否仍用 lseek 在任一为止开始读?能否用 lseek 更新文件中任一部分的数据?
验证程序如下:
#include
#include
#include
#include
#include
#define BUF_SIZ 32
int main()
{
int fd;
int res;
off_t offs...
分类:
其他好文 时间:
2015-01-09 17:24:09
阅读次数:
269
转载自陈硕在知乎的回答。既然你是在校学生,而且编程语言和数据结构的基础还不错,我认为应该在《操作系统》和《计算机体系结构》这两门课上下功夫,然后才去读编程方面的 APUE、UNP 等书。下面简单谈谈我对学习这两门课的看法和建议,都是站在服务端程序员的角度,从实用主义(pragmatic)的立场出发而...
分类:
编程语言 时间:
2015-01-08 14:48:46
阅读次数:
239