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 }
时间: 2024-10-05 18:45:09