2015-01-31 48 views
0

我想知道如何設置字符指針值「d」,在「STREN」建立一個char *的全部價值字符串

char *d; 
std::string Stren = *d; 
+0

沒有'的std :: string'中℃;標記刪除 – pmg 2015-01-31 20:21:24

+1

但它是c + +,我沒有定義的命名空間,如果我把std :: string Stren = d;只設置char – user4515480 2015-01-31 20:22:51

+1

@ user4515480的最後一個值pmg指的是'c'標記在這個問題上肯定是錯誤的,因爲C語言中沒有'std :: string'。 'std :: string'類只存在於C++中,而不是C中。因此,你不能用'c'標記這個問題,只能用'C++'標記。 – 2015-01-31 20:24:46

回答

1

單個字符的構造函數需要一個補數。

std::string Stern(1, *d); // Stores a single character pointed by d. 

例如:

char *d = "this is an example"; 
std::string Stern(1, *d); // Stern is now "t"; 
std::string Stern2(d);  // Stern is now "this is an example"; 

std::cout << d << std::endl; // Outputs "this is an example" followed by '\n' 
std::cout << *d << std::endl; // Outputs "t" followed by '\n'; 
+0

,但由於某種原因只存儲了最後一個值「d」 – user4515480 2015-01-31 20:26:40

+0

你想要d指向的字符串還是指向* d的字符? – 2015-01-31 20:28:28

+0

是的,例如,如果我使用:std :: cout << * d;顯示所有內容,但我想將其全部存儲在字符串中。 – user4515480 2015-01-31 20:30:22

相關問題