c++ 使用vs2010调用 win32api

简介: 以前读书时都是用vc6.0.后来学c#用vs。装系统只装了vs2010.今天用vs2010写c++程序。发现有点陌生。就总结下,免得以后忘记。   首先用vs2010选择c++语言。新建一个win32控制台程序。

以前读书时都是用vc6.0.后来学c#用vs。装系统只装了vs2010.今天用vs2010写c++程序。发现有点陌生。就总结下,免得以后忘记。


 

首先用vs2010选择c++语言。新建一个win32控制台程序。项目打开后会发现stdafx.h,targetver.h,stdafx.cpp还有自己的winAPITest1.cpp文件。

stdafx.h文件包含了stdio.h头文件。这个大家都明白。标准的c语言库。也就是说可以直接在_tmain函数里面直接调用printf函数。

tchar.h文件包含很多宏。#define _tmain      wmain。_tmain其实是wmain。


引用头文件

      1,引用头文件可以用<括号,也可以用“; <尖括号的方式包含的文件,预处理器通常会在特定的系统路径下搜索。”双引号则先在程序根目录寻找,找不到然后在系统目录找。

     不过最好系统的api用<,本地的使用”。因为这样vs会有提示。

     2,关于有些引用不带.h。例如 在vs 2010中用include<iostream.h>就不行,而用include<stdio.h>就可用.

     原因:

1、要区分标准C的库和标准C++的库。iostream是C++的库,stdio.h是标准C的库。

2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的。

3、在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入名字空间。因此直接#include <iostream.h>是可以的。但到了vs2005,使用了新的C++标准库,只能用#include <iostream>。

4、名字空间里可以包含很多东西,比如函数名、标识符、数据类型等等。新的C++标准把标准库中的名字都放入了std名字空间,因此在#include <iostream>之后,还必须使用标准库的名字空间std,才能使用标准库里的类和函数,也就是必须 using namespace std;

5、对于C的标准库,例如,stdio.h,没有名字空间的概念,因此直接包含后即可使用。

6、新的C++标准库为了统一以前的C标准库,将原来c的标准库也放入了std名字空间,并把原来的C标准库去掉了.h后缀,前面加上字母“c”,例如stdio.h就变成了cstdio,使用时为#include <cstdio>,其内容和#include <stdio.h>相同,但是要额外使用名字空间std,也就是using namespace std;

7、因此,对于新的C++标准库,没有了.h形式的头文件,例如iostream,在包含了头文件以后,必须使用std名字空间才能使用库中的内容。对于C标准库,有两种使用方法,一种是用老的.h形式,例如stdio.h直接包含就可以了;另一种就是用C++的统一形式,例如cstdio,和C++标准库一样,包含了以后还要加上using namespace std;才能使用。

建议采用后面统一的形式,比如你要同时使用C和C++的库,可以这样写:
#include <cstdio>
#include <iostream>
using namespace std;

调用api

     

#include "stdafx.h"
#include <Windows.h>
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	SYSTEM_INFO system_Info;
	GetSystemInfo(&system_Info);
	cout<<system_Info.dwPageSize<<endl;
	system("pause");
	return 0;
}

  

system("pause");

是从程序里调用“pause”命令;

而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。

 

 

作者:Bonker
出处:http://www.cnblogs.com/Bonker
QQ:519841366
       
本页版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
目录
相关文章
|
29天前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
169 0
|
1月前
|
存储 JavaScript API
C++ 正则表达式库 std::basic_regex 中文手册(API说明来自cppreference.com)
C++ 正则表达式库 std::basic_regex 中文手册(API说明来自cppreference.com)
24 0
|
1月前
|
Linux API C++
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
【Linux C/C++ 线程同步 】Linux API 读写锁的编程使用
21 1
|
4月前
|
存储 API C++
C/C++ 使用API实现数据压缩与解压缩
在Windows编程中,经常会遇到需要对数据进行压缩和解压缩的情况,数据压缩是一种常见的优化手段,能够减小数据的存储空间并提高传输效率。Windows提供了这些API函数,本文将深入探讨使用Windows API进行数据压缩与解压缩的过程,主要使用`ntdll.dll`库中的相关函数。
42 0
|
10月前
|
缓存 安全 Unix
C/C++使用Windows的API实现共享内存以及同步
C/C++使用Windows的API实现共享内存以及同步
764 0
|
10月前
|
存储 API C++
蓝桥杯考前突击(C++允许使用的api与存储结构)
蓝桥杯考前突击(C++允许使用的api与存储结构)
|
Java C++
C++类中在构造器中调用本类的另外构造器
C++类中在构造器中调用本类的另外构造器
78 0
|
C++
如何在C中调用C++的示例代码
如何在C中调用C++的示例代码
82 0
|
Java C# 决策智能
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex(下)
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex
运筹优化学习09:一个示例带你入门如何使用C++、C#、Java、Python、Matlab调用Cplex(下)

热门文章

最新文章