MSDN:
WIN32 API: 平台SDK->Reference->Win32 Functions in Alpha Order
MFC类库资料: Visual C++ Documentation->Reference->Microsoft Fo...
C/C++语言及标准库资料: Visual C++ Documentation->Reference->C/C++...
标准控件: 标准控件都被MFC封装了,可以参考对应的类,如Edit控件对应CEdit类.
VC知识库:http://www.vckbase.com/
c++源码:http://sourceforge.net/
c++在线教程:http://www.bc-cn.net/Article/kfyy/cjj/jc/Index.html
c1902 erroe :
solution: Copy "mspdbsrv.exe" to "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE" ...
示例1: 20070814
从命令行设置 INCLUDE 变量
WIN32 API: 平台SDK->Reference->Win32 Functions in Alpha Order
MFC类库资料: Visual C++ Documentation->Reference->Microsoft Fo...
C/C++语言及标准库资料: Visual C++ Documentation->Reference->C/C++...
标准控件: 标准控件都被MFC封装了,可以参考对应的类,如Edit控件对应CEdit类.
VC知识库:http://www.vckbase.com/
c++源码:http://sourceforge.net/
c++在线教程:http://www.bc-cn.net/Article/kfyy/cjj/jc/Index.html
c1902 erroe :
solution: Copy "mspdbsrv.exe" to "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE" ...
示例1: 20070814
=========================================================================
在命令行下编译: cl /clr test.cpp
(将cl.exe的路径添加进path环境变量)
#include <stdio.h> //为了调用printf
#using <mscorlib.dll> //为了使用这个程序集中定义的托管类型
using namespace System; //简化访问System命名空间中的类型
//实现一个普通的c/c++ main函数
void main()
{
//调用 c运行库提供的printf函数
printf("Hi\r\n");
//调用FCL(framework class library)的System.Console类型提供的WriteLine方法
Console::WriteLine("HI");
}
保存为: test.cpp文件#using <mscorlib.dll> //为了使用这个程序集中定义的托管类型
using namespace System; //简化访问System命名空间中的类型
//实现一个普通的c/c++ main函数
void main()
{
//调用 c运行库提供的printf函数
printf("Hi\r\n");
//调用FCL(framework class library)的System.Console类型提供的WriteLine方法
Console::WriteLine("HI");
}
在命令行下编译: cl /clr test.cpp
(将cl.exe的路径添加进path环境变量)
致命错误 C1034
错误消息
//(REF)http://msdn2.microsoft.com/zh-cn/library/b72s0k36(vs.80).aspx
错误消息
file: 不包括路径集
没有设置 INCLUDE 环境变量
在 Visual C++ 中设置 INCLUDE 变量
没有设置 INCLUDE 环境变量
在 Visual C++ 中设置 INCLUDE 变量
-
在“工具”菜单中单击“选项”。
-
在“选项”对话框中选择“目录”选项卡。
-
在“显示以下内容的目录”框中选择“包含文件”。
-
在“目录”框中输入包含文件的路径。
从命令行设置 INCLUDE 变量
运行 VCVARS32.bat (...Microsoft Visual Studio 8\VC\bin目录下) 批处理文件
=========================================================================
示例2: 20071113
c++中的main函数形式:
int main(int argc, char *argv[])
= int main(int argc, char** argv)
qq 说 (4:55 PM):
char *argv[];
qq 说 (4:55 PM):
argv[0]="prog";
qq 说 (4:55 PM):
怎么是一个字符串啊 不应该是一个char字符吗
qq 说 (4:55 PM):
argv[0]
侯俊 说 (4:55 PM):
草
侯俊 说 (4:56 PM):
你那个是给那个数组的第一个元素赋值好不好,
qq 说 (4:56 PM):
哪个??
侯俊 说 (4:56 PM):
argv[0]="prog";
qq 说 (4:57 PM):
argv[0]的值应该是一个指针吧?
侯俊 说 (4:57 PM):
是
qq 说 (4:57 PM):
"prog" 是把它的首地址给argv[0]了
qq 说 (4:58 PM):
不应该加个&"prog"代表是"prog"的地址给 argv[0]?
qq 说 (4:58 PM):
你会不会啊?
侯俊 说 (4:59 PM):
argv[0]="prog";你这个能编译过去
侯俊 说 (4:59 PM):
给一个指针符一个字符串的值
侯俊 说 (4:59 PM):
草,你能编译过去
侯俊 说 (4:59 PM):
?
qq 说 (4:59 PM):
能啊
qq 说 (4:59 PM):
你不懂了吧?
qq 说 (5:00 PM):
"prog" 是string吧 string中的每一个是char吧
qq 说 (5:01 PM):
直接把"prog" 给char指针, 表示把"prog" 的首个字符的地址给char指针了
qq 说 (5:01 PM):
懂不懂??
侯俊 说 (5:01 PM):
那你那个argv[0]="prog";玩了之后,*argv【0】等于多少
qq 说 (5:01 PM):
p
qq 说 (5:01 PM):
啊
侯俊 说 (5:02 PM):
怎么是一个字符串 不应该是一个char字符吗那你刚才问我这个干什么
侯俊 说 (5:02 PM):
草
侯俊 说 (5:02 PM):
你会不会问问题
qq 说 (5:03 PM):
你懂不懂啊
qq 说 (5:04 PM):
一个string可以自己表示自己的地址的
侯俊 说 (5:04 PM):
被你说不动了
侯俊 说 (5:04 PM):
草
侯俊 说 (5:04 PM):
这个我知道
qq 说 (5:04 PM):
那你说我说的哪个地方有问题??
侯俊 说 (5:04 PM):
*argv【0】等于p,没问题呀
侯俊 说 (5:04 PM):
那你问的什么东西
qq 说 (5:05 PM):
呵呵 我刚开始没想明白而已
侯俊 说 (5:06 PM):
草
qq 说 (5:06 PM):
顺便考考你
侯俊 说 (5:06 PM):
滚
侯俊 说 (5:06 PM):
没事瞎说
qq 说 (5:06 PM):
argv[0]="prog";你这个能编译过去
qq 说 (5:06 PM):
那你说它编译不过去?
侯俊 说 (5:07 PM):
我第一下看错了,草
qq 说 (5:07 PM):
哦
qq 说 (5:07 PM):
这个问题我纳闷了好久
qq 说 (5:07 PM):
刚才一问你,我才思路发散, 想通了
侯俊 说 (5:08 PM):
你脑袋进水了
qq 说 (5:08 PM):
进了好久,今天排出去咯
侯俊 说 (5:08 PM):
为啥那个穿的是吧那个字符串的地址穿过去你知道吗
qq 说 (5:08 PM):
??
qq 说 (5:08 PM):
什么???
qq 说 (5:09 PM):
字符串是连续存储的 把首个字符传过去
侯俊 说 (5:09 PM):
argv[0]="prog"这个为什么能编译故去
qq 说 (5:09 PM):
不是说了吗
qq 说 (5:09 PM):
一个string可以自己表示自己的地址的
qq 说 (5:10 PM):
而它的地址就是首字符的地址
qq 说 (5:10 PM):
首个char的地址啊
侯俊 说 (5:10 PM):
有道理
qq 说 (5:10 PM):
"prog"就表示的p的地址 给char的指针当然可以了
侯俊 说 (5:10 PM):
以前还真没注意过这
qq 说 (5:10 PM):
所以*argv[0] 就是p 首字符啊
qq 说 (5:11 PM):
我也纳闷好久
侯俊 说 (5:11 PM):
你太有才了
qq 说 (5:12 PM):
不行啊
qq 说 (5:14 PM):
多交流学的更明白
侯俊 说 (5:14 PM):
有道理
qq 说 (5:15 PM):
我什么时候说过没有道理的话了??
==============================================================================================================
示例2: 20071113
class
Test.h
#include <string>
#include <iostream>
class qq_TestOne
{
public:
qq_TestOne();
std::string getName();
int getID();
void display();
private:
std::string name;
int id;
};
Test.cpp
#include "Class_Test.h"
using namespace std;
qq_TestOne::qq_TestOne():name("qq"),id(11){ };
std::string qq_TestOne::getName()
{
return name;
}
int qq_TestOne::getID()
{
return id;
}
void qq_TestOne::display()
{
cout << "Employee: " << getName() << endl;
cout << "-------------------------" << endl;
cout << "Employee Number: " << getID() << endl;
cout << endl;
}
TestMain.cpp
#include "Class_Test.h"
int main(int argc, char** argv)
{
qq_TestOne qqTest;
qqTest.display();
return 0;
}
OutPut:
Employee: qq
-------------------------
Employee Number: 11
要养成这个习惯: 通过成员函数来访问和改变类中的数据.有利于软件的设计和维护.
另:可将 getName 和 getID声明为const类型,可以保证此俩函数不会修改调用它的对象.
Ex:
string getName() const;
int getID() const;
char *argv[];
qq 说 (4:55 PM):
argv[0]="prog";
qq 说 (4:55 PM):
怎么是一个字符串啊 不应该是一个char字符吗
qq 说 (4:55 PM):
argv[0]
侯俊 说 (4:55 PM):
草
侯俊 说 (4:56 PM):
你那个是给那个数组的第一个元素赋值好不好,
qq 说 (4:56 PM):
哪个??
侯俊 说 (4:56 PM):
argv[0]="prog";
qq 说 (4:57 PM):
argv[0]的值应该是一个指针吧?
侯俊 说 (4:57 PM):
是
qq 说 (4:57 PM):
"prog" 是把它的首地址给argv[0]了
qq 说 (4:58 PM):
不应该加个&"prog"代表是"prog"的地址给 argv[0]?
qq 说 (4:58 PM):
你会不会啊?
侯俊 说 (4:59 PM):
argv[0]="prog";你这个能编译过去
侯俊 说 (4:59 PM):
给一个指针符一个字符串的值
侯俊 说 (4:59 PM):
草,你能编译过去
侯俊 说 (4:59 PM):
?
qq 说 (4:59 PM):
能啊
qq 说 (4:59 PM):
你不懂了吧?
qq 说 (5:00 PM):
"prog" 是string吧 string中的每一个是char吧
qq 说 (5:01 PM):
直接把"prog" 给char指针, 表示把"prog" 的首个字符的地址给char指针了
qq 说 (5:01 PM):
懂不懂??
侯俊 说 (5:01 PM):
那你那个argv[0]="prog";玩了之后,*argv【0】等于多少
qq 说 (5:01 PM):
p
qq 说 (5:01 PM):
啊
侯俊 说 (5:02 PM):
怎么是一个字符串 不应该是一个char字符吗那你刚才问我这个干什么
侯俊 说 (5:02 PM):
草
侯俊 说 (5:02 PM):
你会不会问问题
qq 说 (5:03 PM):
你懂不懂啊
qq 说 (5:04 PM):
一个string可以自己表示自己的地址的
侯俊 说 (5:04 PM):
被你说不动了
侯俊 说 (5:04 PM):
草
侯俊 说 (5:04 PM):
这个我知道
qq 说 (5:04 PM):
那你说我说的哪个地方有问题??
侯俊 说 (5:04 PM):
*argv【0】等于p,没问题呀
侯俊 说 (5:04 PM):
那你问的什么东西
qq 说 (5:05 PM):
呵呵 我刚开始没想明白而已
侯俊 说 (5:06 PM):
草
qq 说 (5:06 PM):
顺便考考你
侯俊 说 (5:06 PM):
滚
侯俊 说 (5:06 PM):
没事瞎说
qq 说 (5:06 PM):
argv[0]="prog";你这个能编译过去
qq 说 (5:06 PM):
那你说它编译不过去?
侯俊 说 (5:07 PM):
我第一下看错了,草
qq 说 (5:07 PM):
哦
qq 说 (5:07 PM):
这个问题我纳闷了好久
qq 说 (5:07 PM):
刚才一问你,我才思路发散, 想通了
侯俊 说 (5:08 PM):
你脑袋进水了
qq 说 (5:08 PM):
进了好久,今天排出去咯
侯俊 说 (5:08 PM):
为啥那个穿的是吧那个字符串的地址穿过去你知道吗
qq 说 (5:08 PM):
??
qq 说 (5:08 PM):
什么???
qq 说 (5:09 PM):
字符串是连续存储的 把首个字符传过去
侯俊 说 (5:09 PM):
argv[0]="prog"这个为什么能编译故去
qq 说 (5:09 PM):
不是说了吗
qq 说 (5:09 PM):
一个string可以自己表示自己的地址的
qq 说 (5:10 PM):
而它的地址就是首字符的地址
qq 说 (5:10 PM):
首个char的地址啊
侯俊 说 (5:10 PM):
有道理
qq 说 (5:10 PM):
"prog"就表示的p的地址 给char的指针当然可以了
侯俊 说 (5:10 PM):
以前还真没注意过这
qq 说 (5:10 PM):
所以*argv[0] 就是p 首字符啊
qq 说 (5:11 PM):
我也纳闷好久
侯俊 说 (5:11 PM):
你太有才了
qq 说 (5:12 PM):
不行啊
qq 说 (5:14 PM):
多交流学的更明白
侯俊 说 (5:14 PM):
有道理
qq 说 (5:15 PM):
我什么时候说过没有道理的话了??
#include <iostream>
class qq_TestOne
{
public:
qq_TestOne();
std::string getName();
int getID();
void display();
private:
std::string name;
int id;
};
using namespace std;
qq_TestOne::qq_TestOne():name("qq"),id(11){ };
std::string qq_TestOne::getName()
{
return name;
}
int qq_TestOne::getID()
{
return id;
}
void qq_TestOne::display()
{
cout << "Employee: " << getName() << endl;
cout << "-------------------------" << endl;
cout << "Employee Number: " << getID() << endl;
cout << endl;
}
int main(int argc, char** argv)
{
qq_TestOne qqTest;
qqTest.display();
return 0;
}
-------------------------
Employee Number: 11