a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数 生成str的复制品 c) string s(str,stridx) //将字符串str内"始于位置stridx"的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内"始于stridx且长度顶多strlen"的部分作为字符串的初值 e) string s(cstr)...
printf只能输出C语言中的内置数据,string不是c语言内置数据。 更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串“helloworld”的首地址,而是s这个对象的首地址。 所以要做如下操作: string s = “helloworld”; printf("%s" , s.c_str());//string中c_st...
strings="中国";printf("%s",s);//输出乱码 果断切换成c++版本的cout发现可以正常输出。于是上网找答案,居然惊讶的发现printf输出字符串是针对char *的,换言之,printf只能输出c语言中的内置数据,string不是c语言内置数据。 更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是...
// crt_printf_s.c/* This program uses the printf_s and wprintf_s functions * to produce formatted output. */#include<stdio.h>intmain(void){charch ='h', *string="computer";intcount =-9234;doublefp =251.7366;wchar_twch = L'w', *wstring =L"Unicode";/* Display integers. ...
s表示以字符串的形式输出!
printf输出字符串是针对char *的,换⾔之,printf只能输出c语⾔中的内置数据,string不是c语⾔内置数据,否则会出现乱码。s这个string类型的对象并⾮单单只有字符串,其内还有许多⽤于操作的函数,于是&s并⾮字符串“中国”的⾸地址,⽽是s这个对象的⾸地址。所以要做如下操作:string s = "中国"...
④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。 ⑤c格式:输出一个字符。 ⑥s格式:用来输出一个串。有几中用法 %s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
用printf输出字符串是需要s%来实现的,看个笔记记录就明白了 拓展:c表示输出一个字符 s表示输出字符串
; printf("Integer: %d\n", num); printf("Float: %f\n", f_num); printf("String: %s\n", str); return 0; } 输出结果为: Integer: 10 Float: 3.140000 String: Hello, World! 在实际使用时,可以根据需要在格式化字符串中添加不同的格式转换说明符和普通字符,以达到想要的输出效果。
%hd⽤来输出 short int 类型,hd 是 short decimal 的简写;%d⽤来输出 int 类型,d 是 decimal 的简写;%ld⽤来输出 long int 类型,ld 是 long decimal 的简写。%c:输出⼀个字符。c 是 character 的简写。%s:输出⼀个字符串。s 是 string 的简写。%f:输出⼀个⼩数。f 是 float 的简写...