首页 > 代码库 > C++ Review

C++ Review

 1 #include "iostream"
 2 #include "iomanip"
 3 #include "cstdio"
 4 using namespace std;
 5 int main()
 6 {
 7     ///Type conversion and casts 类型的转换和强转
 8     ///char<short<int<=long<float<double  字节大小 占用存储空间上升
 9     ///C++输入输出
10     ///Manipulator流操纵符 设定输出流格式
11     ///setw()宽度setfill()填充字符setprecision()数据域位数fixed()小数点数
12     int a=123;
13     cout<<"without setw():"<<a<<endl;
14     cout<<"with setw():"<<setw(10)<<a<<endl;///过宽 左补空格,过窄原样输出,无后效性
15     cout<<setw(10)<<setfill(#)<<a<<endl;
16     cout<<left<<setw(10)<<setfill(#)<<a<<endl;///数左靠齐  默认右靠齐
17     double b=12300.44678;
18     cout<<"without setprecision():"<<b<<endl;///默认数据显示的最大位数为6  4四舍五入
19     cout<<setprecision(7)<<b<<endl;
20     cout<<fixed<<setprecision(8)<<b<<endl;///设置小数位数  按定点小数非科学计数法 有后效性
21 
22     ///单个字符的输入输出
23     char c;
24     cin>>c;///默认cin忽略空白字符
25     ///需要从键盘读入单个字符,不管其空白与否,,使用流操纵符noskipws
26     //cin>>noskipws>>c;
27     //cin.get(c);///或者 也读
28     cout.put(c);
29 
30     cout<<"++66"<<endl;
31     char d;
32     cin>>d;
33     cout<<"d"<<d<<endl;
34     switch(d)
35     {
36        case +: cout<<"++++"<<endl; break;
37        case -:cout<<"----"<<endl;break;
38        case *:cout<<"****"<<endl;break;
39        case /:cout<<"////"<<endl;break;
40     }
41 
42 
43 }
 1 #include "cstdlib"
 2 #include "cstring"
 3 #include "string"
 4 int main()
 5 {
 6     ///字符串
 7     ///cin同scanf不读入空格(空格当做分隔符结束)
 8     ///cin.getline(数组名,最大读入字符数,结束符);读入一行  同gets()
 9     ///注意回车读入,用cin.get(dummy) /cin.ignore(80,‘\n‘);/getchar();
10     ///最多忽略80个字符,忽略遇到回车结束避免
11 
12     ///C-style
13     char c_string[]="sharon";
14     char c_string1[6];
15     int len=strlen(c_string);
16     /*strcpy(name1,name);///将name中字符串复制到name1
17     strcat(name,name1);
18     strcmp(name,name1);*/
19     ///strncpy(str1,str2,n);前n个strncat(str1,str2,n);strncmp(str1,str2,n);
20     char str1[]="123.3";
21     int strI=atoi(str1);
22     int strL=atol(str1);
23     double strD=atof(str1);
24     cout<<strI<<endl;
25     cout<<strD<<endl;
26 
27     ///C++-style
28     ///赋值与初始化
29     string str11="abcdefg";
30     string str12(12,-);
31     string str13=str12;
32     str12.assign(3,.);
33     str12.assign(str11,1,3);///复制对象,从下标几开始,复制几个
34     str12.swap(str11);///交换
35 
36     ///连接
37     str11=str12+str13;
38     str13+="ect";
39     str13.append(".ect");
40     str13.append(str11,0,2);///添加对象,从下标为几开始,后延几个
41 
42     ///访问
43     str11[0]=str11[str11.length()-1];
44     str11.at(0)=*;///与[]不同,.at()进行越界检查
45     str11.substr(0,4);///从下标0开始,后延几个的字串
46 
47     ///替代  擦除  插入
48     str11.replace(2,3,str12,2,4);///将str11的下标为234(后延3位)的字串
49     ///替换为str12  下标为2345的字串
50     str11.replace(1,3,str12);
51 
52     str11.erase(9);///擦除下标9之后所有,包括9
53     str11.erase(4,2);///擦除下标为4,5的字符
54     str11.erase();///全擦
55 
56     if(str11.empty()){
57         str11.insert(4,str12,1,6);///插到索引位置4前面
58     }
59     str11.insert(4,str12);///全插
60 
61     int p=str11.find("abc");///从左向右找 存在返回下标,不存在返回-1
62     str11.rfind("abc");///查找最后一次abc位置
63     p=str11.find_first_of("abc");///返回第一次出现a,b,or c的下标,否则返回-1
64     p=str11.find_last_of("abc");///最后一次出现
65     p=str11.find_first_not_of("abc");
66     p=str11.find_last_not_of("abc");
67 
68     ///输入
69     getline(cin,str11,\n);///遇到回车读入结束
70     cin>>str11;///不读空格
71     getline(cin,str11);///读取一行
72 
73 
74     ///C C++字符串相互转换
75     
76     string cpp_string="abcdef";
77     char c_string[6];
78     ///C++->C
79     int len =cpp_string.length();
80     cpp_string.copy(c_string,len);///len表示多少字符//此命令不拷贝‘\0‘
81     c_string[len]=\0;
82     cpp_string.copy(c_string,2,0);///转换字串
83     c_string[2]=\0;
84     
85     strcpy(c_string,cpp_string.c_str());///无须考虑大小
86     
87     ///C->C++
88     cpp_string=c_string;
89 }

 

C++ Review