printf只能输出C语言中的内置数据,string不是c语言内置数据。 更深入的来说:s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串“helloworld”的首地址,而是s这个对象的首地址。 所以要做如下操作: string s = “helloworld”; printf("%s" , s.c_str());//string中c_str()成员方法返回当前字符串的首字符地址...
printf输出字符串是针对char *的,换言之,printf只能输出c语言中的内置数据,string不是c语言内置数据,否则会出现乱码。 s这个string类型的对象并非单单只有字符串,其内还有许多用于操作的函数,于是&s并非字符串“中国”的首地址,而是s这个对象的首地址。 所以要做如下操作: string s = "中国"; printf("%s" , ...
printf输出字符串是针对char *的,换⾔之,printf只能输出c语⾔中的内置数据,string不是c语⾔内置数据,否则会出现乱码。s这个string类型的对象并⾮单单只有字符串,其内还有许多⽤于操作的函数,于是&s并⾮字符串“中国”的⾸地址,⽽是s这个对象的⾸地址。所以要做如下操作:string s = "中国"...
c语言里是没有string型的,string在c++里面。有的时候在c++里要用scanf、printf输入输出string型字符串,这是可以实现的,不过要做一点处理。 具体操作看代码: #include<cstdio>#include<string>usingnamespacestd;intmain() {intn;stringstr1; scanf("%d",&n); str1.resize(n);//给字符串str1预留足够的空间...
string s; cout << s; 或 printf("%s", s.c_str()); //不推荐 1. 2. 3. 4. String字符串操作 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的...
"long string.\n"); return 0; } //程序运行结果: Here's one way to print a long string. Here's another way to print a long string. Here's the newest way to print a long string. 总结: printf 是C语言中非常重要的一个函数。经过上面的学习我们发现,其实它并不难。只要多编程多练习,很快...
printf是C语言标准输出流函数,主要用于向控制台输出,我们指定格式的信息。 函数声明 int printf( const char *format, ... ); 所在库头文件是:<stdio.h> 看上面的函数声明,它有一个返回值(我们很少关注它的返回值,有没有?),如果函数执行成功,则返回所打印的字符总数,如果函数执行失败,则返回一个负数。 一般...
C语言怎么用printf输出字符串printf函数的一般格式printf(格式控制字符串,输出表列);以图1所示为例。图1.函数参数包括两部分:【1】格式控制字符串,是用双引号括起来的字符串,也称为转换控制字符串,它指定输出数据项的类型和格式。它包括两种信息:●格式说明项:由%和格式字符组成,如%d,%f...
string要用cin和cout输入和输出。 如果一定要用scanf和printf的话,格式为: s.resize(20);scanf("%s", &s[0]); printf("s=%s\n", s.c_str());
这是因为printf的"%s"对应的是C-style string,不支持std::string,也就是说printf不是类型安全的(isn't type safe)。正确的做法是使用std::cout << s << std::endl;。 而如果非要使用printf,有一个不是很推荐的做法,使用std::string.c_str()获得const char *的字符串,然后再输出。