当前位置:  编程技术>其它
本页文章导读:
    ▪signal/kill 与 sigaction/sigqueue      sigaction/sigqueue是signal/kill的升级版1.sigqueue与kill:sigqueue可以发送额外参数,kill不可以.2.sigaction与signal:signal通过sigaction实现,sigaction指定的信号处理函数本身不屏蔽任何信号,但可以通过指定sa_ma.........
    ▪类型转换      int 转 CString:CString.Format("%d",int);...............................string 转 CString CString.format("%s", string.c_str()); 用c_str()确实比data()要好. .......................................char* 转 CString CString.for.........
    ▪mmap详解(转)      mmap函数是unix/linux下的系统调用。mmap系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一样对普通文件的操作。而Posix或.........

[1]signal/kill 与 sigaction/sigqueue
    来源:    发布时间: 2013-11-15
sigaction/sigqueue是signal/kill的升级版

1.sigqueue与kill:sigqueue可以发送额外参数,kill不可以.

2.sigaction与signal:signal通过sigaction实现,sigaction指定的信号处理函数本身不屏蔽任何信号,但可以通过指定sa_mask屏蔽指定信号. signal正是利用这点,在指定信号处理函数的时候,屏蔽你了正在处理的信号。

3.sigaction与signal: sigaction还可以传送信号相关的更多信息及参数.

4.上述4个函数可以混合使用.


鑫龙 2013-01-05 17:19 发表评论

    
[2]类型转换
    来源:    发布时间: 2013-11-15
int 转 CString:
CString.Format("%d",int);
...............................
string 转 CString 
CString.format("%s", string.c_str()); 
用c_str()确实比data()要好. 
.......................................
char* 转 CString 
CString.format("%s", char*); 
 CString strtest; 
 char * charpoint; 
 charpoint="give string a value"; 
 strtest=charpoint; //直接付值
...................................................................
CString 转 int
 CString  ss="1212.12"; 
 int temp=atoi(ss); //atoi _atoi64或atol
 
将字符转换为整数,可以使用atoi、_atoi64或atol。 
int int_chage = atoi((lpcstr)ss) ;
或:
   CString str = "23";
   UINT uint;
   sscanf(str, "%d", uint);
..............................
string 转 int
..............................
char* 转 int
 #include <stdlib.h>
 
 int atoi(const char *nptr);
 long atol(const char *nptr);
 long long atoll(const char *nptr);
 long long atoq(const char *nptr);
...................................................................
CString 转 string
  string s(CString.GetBuffer()); 
  GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 
..........................................
int 转 string
..........................................
char* 转 string 
 string s(char *); 
 你的只能初始化,在不是初始化的地方最好还是用assign().
...................................................................
CString 转 char *
 CString strtest="wwwwttttttt";
 charpoint=strtest.GetBuffer(strtest.GetLength());
CString转换 char[100] 
 char a[100]; 
 CString str("aaaaaa"); 
 strncpy(a,(LPCTSTR)str,sizeof(a));
  CString  str="aaa";  
  char*  ch;  
  ch=(char*)(LPCTSTR)str;
..........................................
int 转 char *
 在stdlib.h中有个函数itoa()
 itoa的用法:
 itoa(i,num,10);
 i 需要转换成字符的数字
 num 转换后保存字符的变量
 10 转换数字的基数(进制)10就是说按照10进制转换数字。还可以是2,8,16等等你喜欢的进制类型
 原形:char *itoa(int value, char* string, int radix);
 实例:
 #include "stdlib.h"
 #include "stdio.h"
 main()
 {
 int i=1234;
 char s[5];
 itoa(i,s,10);
 printf("%s",s);
 getchar();
}
..........................................
string 转 char * 
char *p = string.c_str(); 
 
 string aa("aaa");
 char *c=aa.c_str();
 string mngName;
 char t[200];
 memset(t,0,200);
 strcpy(t,mngName.c_str());
...................................................................
标准C里没有string,char *==char []==string
可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操
作符(LPCSTR)CString就可以了。
cannot convert from 'const char *' to 'char *'
const char *c=aa.c_str(); 
string.c_str()只能转换成const char *


盛胜 2013-01-05 17:13 发表评论

    
[3]mmap详解(转)
    来源:    发布时间: 2013-11-15

mmap函数是unix/linux下的系统调用。

mmap系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一样对普通文件的操作。而Posix或系统V的共享内存IPC则纯粹用于共享目的,当然mmap()实现共享内存也是其主要应用之一。
          mmap系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以像访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。mmap并不分配空间, 只是将文件映射到调用进程的地址空间里(因为并不分配空间所以所映射的文件必须已经具有大小,空文件会产生错误), 然后你就可以用memcpy等操作写文件, 而不用write()了.写完后用msync()同步一下, 你所写的内容就保存到文件里了. 不过这种方式没办法增加文件的长度, 因为要映射的长度在调用mmap()的时候就决定了.



鑫龙 2013-01-06 10:37 发表评论

    
最新技术文章:
▪修改月光博客网站中PHP常用正则表达式中出现...
▪js正则判断非法字符限制输入
▪通过正则表达式删除空行的方法
▪一个好用的正则匹配电话号手机号邮箱网址的...
▪JS 正则表达式用法介绍
▪几个小例子教你如何实现正则表达式highlight高...
▪如何实现正则表达式的JavaScript的代码高亮
▪js 玩转正则表达式之语法高亮
▪PHP中过滤常用标签的正则表达式
▪js 正则表达式学习笔记之匹配字符串
▪使用正则表达式匹配[***]样式的字符串
▪史上最详细的js日期正则表达式分享
▪php+正则将字符串中的字母数字和中文分割
▪正则表达式不区分大小写以及解决思路的探索...
▪正则替换换行符和把 br 替换成换行符
▪正则表达式匹配不包含某些字符串的技巧
▪匹配form表单中所有内容的正则表达式
▪正则表达式(括号)、[中括号]、{大括号}的区别...
▪正则表达式中的"g"是什么意思附件参数g的用...
▪浅谈正则表达式(Regular Expression)
▪Python正则表达式的七个使用范例详解
▪正则表达式提取img的src
▪常用的正则表达式集锦
▪使用正则表达式找出不包含特定字符串的条目...
▪js正则表达式中的问号几种用法小结
▪正则表达式概述 什么是正则表达式 .
▪ajax对注册名进行验证检测是否存在于数据库...
▪js正则解析URL参数示例代码
▪JS使用正则去除字符串最后的逗号
▪几种常见攻击的正则表达式
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3