随笔分类 - C/C++
摘要:前些日子看书看到的一个C语言的格式说明符----%n ,蛮有意思的,拿来与大家分享下。printf可不只是一个输出函数哦,这个%n就是把字符串的长度,写进一个变量。看代码吧,好理解。#include <stdio.h>void main(){ int lenA; int lenB; printf("Hello%n\n",&lenA); printf("Hello%n World!\n",&lenB); printf("%d\n",lenA); printf("%d\n",lenB);}最
        阅读全文
            
摘要:今天写代码可是被搞的七荤八素的,所以也就记录下,还是C语言,现在应该没有用C写软件的了,我今天写的时候就遇到一个很恶心的问题,憋了好长时间。先上个示例代码吧。 do { if (User_in == 'y' || User_in == 'Y' ) { GetInfo(); // 我的一个获取信息函数,你可以自己实现,看看 printf("Continue to Get information?(y/n):"); } else c...
        阅读全文
            
摘要:学完链表后就学了栈,一直想用代码实现下,可是要打工啊·······都连续加了两晚夜班了,累死了······今天休息,用了些时间写了写,还是和以前一样希望和新手一起学习,也希望得到大神指导。看代码吧,注释不合适的地方,请见谅······#include <stdio.h>#include <stdlib.h>#include <malloc.h>// 定义一个节点的结构ty
        阅读全文
            
摘要:今天又学了下链表,发上来和菜鸟一起学习,欢迎大神指点···········今天我实现的是插入链表节点和删除链表节点。看代码吧,注释写的不好的就见谅吧·················/*链表节点的插入与删除编译环境:VC++6.0编译系统:windowsXPSP3*/#include<stdio.h>#in
        阅读全文
            
摘要:今天继续学习了链表,这次是检测链表是否为空,计算链表长度,这都是蛮简单的,最后就是给链表排序,这里的链表排序是当然是最简单的冒泡排序。还是希望和新手一起学习,希望得到大牛指点······ 这次代码还是基于上次C语言实现链表的创建及遍历链表这个文章中的代码,直接在这上面写的,添加的,检测是否为空函数,计算链表长度函数,和链表排序函数,好了,上代码了。/*链表创建,遍历,检测是否为空,计算链表长度,排序编译环境:VC++6.0编译系统:windowsXPSP3*/#include<stdio.h>#include<std
        阅读全文
            
摘要:有半年没有用C写代码了,现在在学习数据结构,写了点代码,发现了很大的问题。一直以来我感觉自己C语言算不上精通,但是基本语法大多数也全都掌握的差不多了,但是今天写代码的时候,要通过scanf函数给一变量赋值时,居然忘写 & 符号,这无异于啪啪给我两巴掌啊,这么简单的语法居然给忘记了,我相信也有不少人和我差不多,都是眼高手低的家伙,以为自己以前学过,就懒得在练习了,可是到真写的时候还写不出来。看来以后还是要多写代码才行,大家一起加油哦,好了不说了,上代码了。只是一段简单的代码希望和菜鸟一起学习,注释不对的地方,请大牛指点。还有就是这只是一个非循环单链表···&
        阅读全文
            
摘要:网络编程入门知识	Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用。	socket通常也称作"套接字",用于描述IP 地址和端口,是一个通信链的句柄,也可以看成是一种文件描述符 。socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。	socket类型: ①。流式套接字(SOCK_STREAM) 流式套接字可以提供可靠的,面向连接的通讯流,它使用TCP协议。 ②。数据报套接字(SOCK_DGRAM) 数
        阅读全文
            
摘要:消息队列一.IPC通讯#include <sys/types.h>#include <sys/ipc.h>key_t ftok(char *pathname,char proj);功能:返回文件对应的键值。	pathname:文件名	proj:项目名(不为0即可)二.打开/创建消息队列#include <sys/msg.h>int msgget(key_t key,int msgflg);功能:返回与键值key相对应的消息队列描述字	key:键值,由ftok获得。	msgflg:标志位 。	标志位的取值: IPC_CREAT	创建新的消息队列。 IPC_EX
        阅读全文
            
摘要:进程通信(二) 信号通讯1.常见的信号类型:	SIGHUP	从终端发出的结束信号	SIGINT	来自键盘的终断信号(ctrl-c)	SIGKILL	该信号结束接收信号的进程	SIGTERM	kill命令发出的信号	SIGSTOP	来自键盘(ctrl-z)或调试程序的停止执行信号2.发送信号的主要函数有kill和raise	区别: kill既可向自身发送信号,也可以像其他进程发送信号 raise只向进程自身发送信号	#include <sys/types.h> #include <sysnal.h> int kill(pid_t pid,int signo)...
        阅读全文
            
摘要:进程间通信(一)1.为什么需要进程间通信?	① 数据转移 一个进程需要它的数据发送给另一个进程	② 资源共享 多进程之间共享同样的资源	③ 通知事件 一个进程需要想另一个或一组进程发送消息,通知他们发生了什么事件	④ 进程控制 一个进程控制另一个进程的执行 一.管道通信管道定义:	管道是单向的,先进先出的,它把一个进程的输出和另一个进程的输出连接在一起,一个进程(写进程)在管道尾部写入数据,另一个进程(读进程)从管道头部读出数据。管道分类:	无名管道: 用与父进程和子进程之间的通信	有名管道: 用于运行于同一系统中任意两进程间的通信无名管道: int pipe(int filedis[2]..
        阅读全文
            
摘要:时间编程	格林威治时间(GMT )是世界标准时间(UTC)。	需要头文件 sys/time.h	相关函数: time_t time(time_t *tloc); 作用:获取日历时间,即从1970年1月1日0点到现在所经历的秒数。 struct tm * gmtime (const time_t *timep); 作用:将日历时间转化为格林威治时间,并保存至 TM 结构中。 struct tm * localtime(const time_t * timep); 作用:将日历时间转化为本地时间并保存至 TM 结构中。	TM 结构:structtm{inttm_...
        阅读全文
            
摘要:进程编程一.获取ID: #include <sys/types.h> #include <unistd.h> pid_t getpid(void); 获取本进程ID pid_t getppid(void); 获取父进程ID例:#include<stdio.h>#include<unistd.h>#include<stdlib.h>intmain(void){printf("PID=%d\n",getpid());printf("PPID=%d\n",getppid());return0;}二.进
        阅读全文
            
摘要:文件编程 一.系统调用~~创建 int creat (const char *filename, mode_t mode);	filename:即要创建的文件名(包含路径,缺省为当前路径)	mode:创建模式 常见的模式: S_IRUSR 可读 S_IWUSR 可写 S_IXUSR 可执行 S_IRWXU 可读,写,执行 还可以用数字表示: 4	代表可读 2	代表可写 1	代表可执行 7	代表可读,写,执行例:	#incldue <stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/s
        阅读全文
            
 
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号