C++初探
//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 }