现在的位置: 首页 > 综合 > 正文

编程杂记2

2014年03月28日 ⁄ 综合 ⁄ 共 2039字 ⁄ 字号 评论关闭

1.编译的时候输出信息:#pragma message("Compiling : ThreadModel.h..........")

2.操作系统版本不对输出出错信息:

#ifndef _WINDOWS_
#error windows.h should be included first!
#endif

3.

InterlockedIncrement 对32为的数据进行原子级的加某个数操作,如果要对64为数进行类似处理请用 InterlockedIncrement64

4.FILE* in = fopen(infile, "r");
//DWORD dw = GetLastError() ;
if (!in)
{
printf("cannot open %s\n", infile);
return false;
}
char buf[1024];
fgets(buf, 1024 ,in);

5.rename:重命名文件或目录或把移动文件到指定目录。

6.copyfile:拷贝文件到指定的目录,可以拷贝到局域网上的其它机器的目录上。

7.如果要分配2M的内存,最好用new在堆上分配,不要再栈上分配。

8.GetCommandLineW ,CommandLineToArgvW 获取系统调用程序传进来的参数,如 WinExec,CreateProcess调用。

9.\\\不能放在一起,容易被误解析。同理 <<XX>> 最后的两个>之间不能有空格。也容易被误解析。

10.微软的bug<后缀名3个字节会延伸读入>,比如*.txt会读入a1.txta, a2.txtb

11.

udl(Universal Data Link)是通用数据连接文件,使用通用数据链接 (UDL) 文件来保存连接字符串。

  使用 UDL 文件存储数据库连接的方式和使用“ODBC 数据源名称 (DSN)”非常相似。UDL 文件存储 OLE DB 连接信息,例如提供程序、用户名、密码和其他选项。用存储在该 UDL 文件中的信息可以打开 ADO 连接,从而允许管理员在需要的情况下更改它,并且避免了打开注册表或者使用 ODBC。

  也就是说这个里面包含的东西就是CONNECTIONSTRING 中的内容,比如:

  ‘Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Program FilesMicrosoft OfficeOfficeSamplesNorthwind.mdb;User ID=admin;Password=1;Jet OLEDB:Database Password=1 ’

12.获取某个模块的句柄:GetModuleHandle

13.usleep功能把进程挂起一段时间, 单位是微秒(百万分之一秒);

头文件: unistd.h

  语法: void usleep(int micro_seconds);

14.POSIX thread 简称为pthread,Posix线程是一个POSIX标准线程,该标准定义内部API创建和操纵线程。

15.在linux下查看开发者相关的函数文档:输入 man 函数名     ,然后就会显示整个函数信息,如果一页不能完全显示下,那么可以按上下箭头进行上下翻转,退出帮助文档可以直接按 q 就可以了。如果有多个函数,可以 man -S 数字 函数名。

16.MS SQL Server默认的端口号是:1433.

17.修改协议版本以正常连接SQL Server 2005
修改 freetds 配置文件
[root@vm01 test]# vim /usr/local/freetds/etc/freetds.conf
[global]
        # TDS protocol version
#;      tds version = 4.2

         tds version=8.0

连接 SQL SERVER 2005 需要使用的协议版本为 8.0,而使用 4.2 时,连接将会失败。使用 tsql 命令连接时,如果不像步骤(2)中那样配置数据源,则同样需要修改协议,然后才能使用如下命令正常连接数据库:
[root@vm01 test]# tsql -H 192.168.232.133 -p 1433 -U sa -P zkl

注意:第一个p为小写,后面的P是大写。
18.

time_t mktime ( struct tm * timeptr );

Convert tm structure to time_t

19.samba:linux和windows间的远程拷贝文件。

20.virtualbox 开放源代码

21.写可移植程序:

int i ;

unsigned long j ;

...

if(i == (int)j)

...

22.在windows中写文件最后的结尾用 \r\n,不要用 endl

23.怎么让读取文件一行后又恢复到读之前的状态:

std::streampos posCityTemp = if_city.tellg() ;

getline()

if_city.seekg(posCityTemp) ;

24.strtok不能嵌套调用:

因为strtok函数内部使用了一个静态的内存,如果嵌套调用的话将会改变上层的调用结果。

抱歉!评论已关闭.