[英]How to create an array of C-strings?
所以我只想在C ++中創建一個C字符串數組。 是的,我知道C ++使用字符串數據類型,但是我正在從事的工作要求我制作一個C字符串數組。 C字符串本身是一個字符數組。 那么,制作C字符串數組就像制作二維char數組一樣嗎? 然后,要訪問每個單獨的字符,我需要指定其各自的行和列位置。 但是,我想把它想象成一個C字符串的一維數組,其中每個索引都返回一個完整的C字符串。 我怎樣才能做到這一點? 請解釋。 如何遍歷這樣的數組並打印或返回每個C字符串,而不是使用嵌套循環分別返回每個字符?
對於字符串文字,您可以執行以下操作:
const char *strings[] = { "foo", "bar", "blech" };
對於要修改的字符串數組,您可以執行以下操作:
char strings[3][80] = { "foo", "bar", "blech" };
無論哪種方式,您都可以像這樣打印它們:
for (int i = 0; i < 3; ++i)
{
std::cout << strings[i] << std::endl;
}
或更習慣上:
for (auto & s : strings)
{
std::cout << s << std::endl;
}
C風格的字符串基本上只不過是一個以'\\0'
結尾的char
數組 。 要擁有“字符串”數組,您只需擁有一個數組數組,例如
char my_array_of_strings[ARRAY_SIZE][STRING_SIZE + 1]; // +1 for terminator
或者,您可以有一個指針數組:
char* my_array_of_strings[ARRAY_SIZE];
哪一個最好取決於您的用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.