因为string不是c语言的内置数据,所以直接printf输出string类型的是办不到的。 要这样输出: printf("%s\n",a.c_str()); 举例: #include<bits/stdc++.h>usingnamespacestd;intmain(){stringa="人生"; printf("%s\n",a.c_str());return0; }
printf只能输出C语言内置的数据,而string不是内置的,只是一个扩展的类,这样肯定是链接错误的。string不等于char*,&a代表的是这个字符串的存储地址,并不是指向字符串的首地址,aa 对象中包含一个指向"string"的指针, &aar得到的是这个对象的地址,不是"string"的地址。 printf输出string类型应如此操作! #include<ios...
string s="helloworld"; printf("%s",s); 运行上述程序,会出现下面的结果。 这是怎么回事啊,%s对应字符串类型,应当没有错啊。 如果将输出语句改成cout,输出则会恢复正常。 printf只能输出C语言中的内置数据,string不是c语言内置数据。 更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于...
awk中的printf格式说明符不适用于多个参数 在awk中,printf是用于格式化输出的函数,它可以根据指定的格式将数据打印到标准输出或文件中。然而,awk中的printf格式说明符不适用于多个参数。 在awk中,printf函数的语法如下: 代码语言:txt 复制 printf format, expression1, expression2, ... 其中,format是格式字符串,...
printf()函数不能直接输出string类型,因为string不是c语言的内置数据,所以直接printf输出string类型的是办不到的。要这样输出:举例:
在C++中,printf和cout都是用于输出字符串的方法,但是它们有一些不同之处。printf是C语言中的输出函数,它使用格式化字符串来定义输出的格式。例如,你可以使用“%d”来输出整数,“%f...
至于将数值转换为String类型,有个简单的方法,即在每个数值后加上[ +“”] 中括号中的部分即可,如下面代码:如下面代码:int i=0;int j=0;nt k=0;int l=0;System.out.println(i+""+j+""+k+""+l);这样就输出的结果就是0000。如果输出的都是String类型的,可以 System.out.println(...
printf输出string字符串 printf输出字符串是针对char *的,换⾔之,printf只能输出c语⾔中的内置数据,string不是c语⾔内置数据,否则会出现乱码。s这个string类型的对象并⾮单单只有字符串,其内还有许多⽤于操作的函数,于是&s并⾮字符串“中国”的⾸地址,⽽是s这个对象的⾸地址。所以要做如下操作...
int main() { string a; // scanf读入string的方法 a.resize(N); //需要预先分配空间 scanf("%s", &a[0]); // printf输出string的方法 printf("%s\n", a.c_str()); //正确的字符串的长度:3 cout << strlen(a.c_str()) << endl; ...
printf为c的函数 故不能用printf的%s来输出string类型 发布于 2019-04-27 23:47 写下你的评论... 打开知乎App 在「我的页」右上角打开扫一扫 其他扫码方式:微信 下载知乎App 开通机构号 无障碍模式 验证码登录 密码登录 其他方式登录 未注册手机验证后自动登录,注册即代表同意《知乎协议》《隐私保护指引》...