1.格式化输出:
%d:输出整数,%03d:输入三位整数,不够补‘0’, %3d:3位整数,不够在前面补空格;
%hd:short 2 字节;
%ld: long 8字节;
%lld: long long 8字节;
%u: 输出一个无符号数;
%x:16进制小写输出, %X:进制小写输出;
%o:8进制;
%c:输出字符类型;
%f:输出浮点类型, %.2f保留小数后2位输出;
%s:输入字符串类型;
2.字符串操作:
格式化输入
char * str = "Hello";
int a = 100;
char dist[100];
memset(dist,0,100);
float b = 3.14;
sprintf(dist,"%s %d,MATH_PI=%.2f",str,a,b);
puts(dist);
字符串转为浮点数
double value = atof("3.14");
printf("%f\n",value);
整形转为字符串数组
int a = 100;
char b[10];
sprintf(b,"%d",a);
puts(b);
字符串比较
char * str1 = "Hello";
char * str2 = "Hello";
char str3[10]="Hello";
printf("result is %d\n",str1==str2);
printf("Pointer str1 %p,Pointer str2 %p\n",str1,str2);
puts(str3);
int value = strcmp(str1, str3);
if(value == 0)
printf("two string is equals");
else
printf("two string is not equals");
char * str1 = "Hello World";
char * str2 = strchr(str1,'o'); //从前开始找'o'开始后的字符串
char * str3 = strrchr(str1,'o'); //从后开始找'o'开始后的字符串
char * str4 = strstr(str1,"Wo"); //找从"Wo"开始后的字符串
puts(str2);
puts(str3);
puts(str4);
char * str1 = "HelloWorld";
char a[10];
memset(a,0, 10);
strncpy(a,str1,3); //复制str1的前3位
puts(a);
char * str2 = str1+5; //地址加5,从第6位开始取
puts(str2);
char str3[10];
memset(str3,0,10);
strncpy(str3,str2,3); //取第6位开始后的3位
puts(str3);