在C++應用程序,參數都存儲在一個char *數組,像這樣:C++如何將char指針數組轉換爲字符串數組?
int main(int argc, char* argv[])
{
...
}
然而,很多人喜歡字符串操作的便利性,但它是一個hastle不得不每次將每個char *轉換爲std :: string。所以我的問題是,如何將char * []轉換爲std :: string [],以便在程序中不必單獨轉換它們?
在C++應用程序,參數都存儲在一個char *數組,像這樣:C++如何將char指針數組轉換爲字符串數組?
int main(int argc, char* argv[])
{
...
}
然而,很多人喜歡字符串操作的便利性,但它是一個hastle不得不每次將每個char *轉換爲std :: string。所以我的問題是,如何將char * []轉換爲std :: string [],以便在程序中不必單獨轉換它們?
您可以遍歷參數。
int main(int argc, char* argv[]) {
std::string *s = new std::string[argc];
for (int i = 0; i < argc; ++i)
s[i] = argv[i];
}
如果您接受std::vector
,則可以使用其範圍構造函數。
std::vector<std::string> args(argv, argv + argc);
這將是一個'std :: vector
@woolstar編輯。謝謝。 –
閱讀循環章節。 –