用printf輸出string型別資料總結
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
string a;
a[0]='a';
a[1]='/0';
printf("%s/n",a);
system("pause");
}
出錯: [Warning] cannot pass objects of non-POD type `struct std::string' through `...'; call will abort at runtime
printf只能輸出C語言內建的資料,而string不是內建的,只是一個擴充套件的類,這樣肯定是連結錯誤的。string不等於char*,&a代表的是這個字串的儲存地址,並不是指向字串的首地址,aa 物件中包含一個指向"string"的指標, &aar得到的是這個物件的地址,不是"string"的地址。
printf輸出string型別應如此操作!
#include<iostream>
#include<string>
using namespace std;
void main()
{
string aa="qqq";
printf("%s",aa.c_str()); //不推薦
//或者cout<<a;
}
由於string是C的一個 擴充套件型別,其資料賦值可以用其提供的方法:assign(const char *)或直接用其建構函式
string str( "Now is the time..." );
相關文章
- printf 中 % 別代表的輸出型別型別
- JavaScript資料型別及輸出JavaScript資料型別
- JS 資料型別總結JS資料型別
- String資料型別的應用場景資料型別
- Go 的資料型別總結Go資料型別
- go 基礎總結 --- 資料型別Go資料型別
- JavaScript資料型別轉換總結JavaScript資料型別
- Python的資料型別總結Python資料型別
- C++基本資料型別總結C++資料型別
- Mysql支援的資料型別(總結)MySql資料型別
- 可變資料型別(mutable)與不可變資料型別(immutable)總結資料型別
- std::cout 輸出 unsigned char型別資料型別
- [java IO流]之 基本資料型別輸入輸出流Java資料型別
- JS基礎總結(1)——資料型別JS資料型別
- (2)mysql 支援的資料型別總結MySql資料型別
- 2、Redis的資料型別-stringRedis資料型別
- PHP基礎-資料型別-stringPHP資料型別
- MySQL修改資料型別的問題總結MySql資料型別
- MSSQL資料庫的欄位型別總結SQL資料庫型別
- string型別資料的find函式型別函式
- go語言 string資料型別格式Go資料型別
- Python3學習(基本資料型別-集合-字典-基本資料型別總結)Python資料型別
- iOS資料型別簡介及NSLog列印輸出iOS資料型別
- Redis set資料型別命令使用及應用場景使用總結Redis資料型別
- C++的資料型別總結,不能錯過C++資料型別
- Redis中 HyperLogLog資料型別使用總結Redis資料型別
- MySQL與oracle的資料型別轉換總結MySqlOracle資料型別
- Redis學習手冊(String資料型別)Redis資料型別
- 全面解析Java中的String資料型別Java資料型別
- 演示 資料型別 陣列名[]=new 資料型別[大小],迴圈輸入5個成績,儲存到double陣列,並輸出資料型別陣列
- Redis資料結構(一)-Redis的資料儲存及String型別的實現Redis資料結構型別
- 關於Redis資料型別以及應用場景的分析與總結Redis資料型別
- String 型別型別
- Redis 資料型別及其使用場景 String 篇Redis資料型別
- String和基本資料型別的相互轉換資料型別
- Redis 五大資料型別之 String(字串)Redis大資料資料型別字串
- 帶你掌握Redis資料型別:string和HashRedis資料型別
- mysql資料型別小結MySql資料型別