//string1.cpp
#include <iostream>
int main()
{
using namespace std;
char dog[4]={'d','o','g'}//这是char数组,也即字符数组
char dog1[4]={'d','o','g','\0'}//这是字符串
char sex[8];
/*
char sex[] 是不被允许的,必须给出字符数组的长度,用于编译器申请空间。如果要输入汉字,由于一个汉字占用两个字节,故字符串长度至少为2*n+1,n为汉字个数,+1是因为空字符。这里的8是数组长度,而不是最后一个元素的下标,最后一个元素是sex[7].
*/
char sex1[]="man";
/*
字符串请用双引号括起,不能使用单引号。由于已经初始化,编译器会得出字符数组的长度,故可略去。
*/
char state='T';//字符用单引号括起,单引号中只能有一个字符。
cin>>sex;
cout<<sex;
return 0;
}
1 //配置文件
2 #include <iostream>
3 #include <afx.h>
4 #include <windows.h>
5 int main()
6 {
7 using namespace std;
8
9 CString StrName, StrTemp, path;
10 StrName = "jack";
11 path = "";
12 DWORD a = GetCurrentDirectory(MAX_PATH, path.GetBuffer(MAX_PATH));
13 //获取为当前路径字符串申请的空间大小(不包含结尾空字符),存入a中。
14 //如果MAX_PATHLENGTH长度不足以存储当前路径,则返回需要的字节数(包含结尾空字符)。path没有改变。
15 //如果你通过VS运行程序,那么当前路径是项目路径,而不是可执行程序所在路径。
16 //MAX_PATH是宏名,值为260,这个值用来存储路径够用了。当然GetBuffer()不会真的申请这么多空间,而是按需分配。
17 path.ReleaseBuffer();//用完GetBuffer后最好马上释放
18 path += "\\setting.ini";//添加配置文件名
19
20 //写配置文件
21 WritePrivateProfileString("Student", "Name", StrName, path);
22 //Student是字段名,name是Student字段名下的键名,StrName是name的键值,path是配置文件的路径
23
24 //读配置文件
25 DWORD value = GetPrivateProfileString("Student", "Name", "hhhh", StrTemp.GetBuffer(30), 30, path);
26 StrTemp.ReleaseBuffer();
27 cout << " return value is" << value << endl;
28 wcout << StrTemp.GetString() << endl;
29 wcout << path.GetString() << endl;
30 cout << a << endl;
31
32 //获取当前程序完整路径
33 GetModuleFileName(NULL, path.GetBuffer(MAX_PATH), MAX_PATH);
34 //NULL表示返回当前模块的PathName,GetBuffer()返回执向缓存区的指针,也即path对象的首地址。MAX_PATH表示缓存区大小。
35 //GetModuleFileName负责把路径字符串装载到指针所指向的区域,指针是可以更改的,因此可以装载。
36 //返回值是路径字节数。
37 path.ReleaseBuffer();
38 path = path.Left(10);
39 wcout << path.GetString() << endl;
40
41 MessageBox(NULL, "3", "return value is", 16);
42
43 //cin.get();
44 return 0;
45 }