2016-10-03 204 views
1

在C++應用程序,參數都存儲在一個char *數組,像這樣:C++如何將char指針數組轉換爲字符串數組?

int main(int argc, char* argv[]) 
{ 
    ... 
} 

然而,很多人喜歡字符串操作的便利性,但它是一個hastle不得不每次將每個char *轉換爲std :: string。所以我的問題是,如何將char * []轉換爲std :: string [],以便在程序中不必單獨轉換它們?

+0

閱讀循環章節。 –

回答

1

您可以遍歷參數。

int main(int argc, char* argv[]) { 

    std::string *s = new std::string[argc]; 
    for (int i = 0; i < argc; ++i) 
     s[i] = argv[i]; 

} 
4

如果您接受std::vector,則可以使用其範圍構造函數。

std::vector<std::string> args(argv, argv + argc); 
+0

這將是一個'std :: vector args(...)' – woolstar

+0

@woolstar編輯。謝謝。 –

相關問題