
C
honty
这个作者很懒,什么都没留下…
展开
-
C语言去字符结尾空格回车
char * trim(char *str){ char *p = str + strlen(str) - 1; while(' ' == *p || '\t' == *p || '\n' == *p || '\r' == *p) { *p = '\0'; p--;原创 2012-06-14 16:10:53 · 1481 阅读 · 0 评论 -
文件夹拷贝(linux c 递归)
int cpdir(char * fromdir, char * todir){ char fBuf[256]; char tBuf[256]; FILE *fromfile = NULL; FILE *tofile = NULL; DIR * dir = NULL; struct dirent *ptr; int ret原创 2012-08-03 17:07:14 · 830 阅读 · 0 评论 -
popen实现shell输出到c中
#include main(){ char buf[1024] = {0}; FILE *fp = NULL; fp = popen("ls","r"); if (NULL == fp) { printf("popen error\n");原创 2012-06-15 15:24:21 · 331 阅读 · 0 评论 -
通道实现进程间通信
fork创建子进程,pipe及read、write实现进程间通信#include #include main(){ int i; int ppid[2]; pipe(ppid); int pid = fork(); if (0 == pid) {原创 2012-06-15 17:35:08 · 624 阅读 · 0 评论 -
拷贝文件(c)
#include #include #define BUFFER_SIZE 1024void cpfile(FILE *from_fd, FILE *to_fd){ int bytes_read,bytes_write; char buffer[BUFFER_SIZE]; char * ptr;原创 2012-08-03 17:05:39 · 493 阅读 · 0 评论 -
C中的goto,setjmp使用示例(异常的集中处理)
#include #include jmp_buf j;int main(){ switch(setjmp(j)) { case 0: printf("this is main to do\n"); longjmp(j, 1); printf(原创 2012-11-07 10:21:52 · 640 阅读 · 0 评论 -
dos2unix命令的c实现
int dos2unix(char * filename){ FILE *target; FILE *tmpfd; int ch; target = fopen(filename, "r+"); if(NULL == target) { return -1; } tmpfd = tmpfile()原创 2012-08-03 17:09:40 · 785 阅读 · 0 评论 -
linux socket编程-client
#include #include #include #include #define LETH 1024#define IP "130.10.3.135"int main(){ int sockfd, n; char recvline[LETH]; char sendline[LETH]; struct sockaddr_in servaddr;原创 2012-12-04 11:00:30 · 388 阅读 · 0 评论 -
linux socket编程-server
#include #include #include #include #define LETH 1024int main(){ int listenfd, connfd, pfd; struct sockaddr_in servaddr; char buf[LETH]; char sendmsg[LETH];原创 2012-12-04 10:57:36 · 320 阅读 · 0 评论 -
内存共享代码示例
#include #include #include #define BUF 1024#define MEM_FLG 2012int main(){ int shm_id; int ret; void *mem = NULL; //共享内存创建 shm_id = shmget(MEM_FLG, BUF, 0666|IPC原创 2012-11-14 11:22:19 · 364 阅读 · 0 评论 -
进程间通信之消息队列
key_t ftok( const char * fname, int id )用于生成ID值int msgget(key_t key, int msgflg);通过key,获取消息队列权限或创建消息队列int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);size_t msgrcv(in原创 2012-11-28 15:37:05 · 383 阅读 · 0 评论