您的位置:首页 > 编程语言 > C语言/C++

黑马程序员——C语言之格式化输出与字符串操作

2015-06-27 15:28 344 查看


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: