我只是想知道如何创建一个字符串数组。我正在寻找一个由10个字符串组成的数组,每个字符串可以有20个字符。
#include <iostream>
int main()
{
char a[10] , str[20];
for (int x = 0 ; x<10 ; x++)
{
for (int y = 0 ;y<20; y++ )
{
cout<<"String:";
cin>>str[y];
a[x]=str[y];
}
}
for (int j = 0 ; j<10 ; j++)
cout<<a[j]<<endl;
return 0;
}C++中的新手有着开放的心态:)
发布于 2014-12-08 14:16:00
你所做的是更多的C方法。
总之:
char strings[10][20];
//Accessing each string
for(int i = 0; i < 10; i++)
{
//Accessing each character
for(int j = 0; j < 20; j++)
{
char character = strings[i][j];
}
}在c++中,您更愿意使用:
std::string strings[10];或者最好的选择是:
std::vector<std::string> strings(10);在c++ 11中,您可以像下面这样迭代最后一种情况:
for(auto singleString : strings)
{
}发布于 2014-12-08 14:08:37
不如你用一个
std::vector<std::string> my_strings(10); // vector of 10 strings这样做比静态大小的char数组容易得多。
然后您将获得std::vector容器的所有特性,包括动态大小。
您还可以获得std::string类的所有优秀特性。
发布于 2014-12-08 14:24:05
按优先次序:
由10个字符串组成的向量:
std::vector<std::string> aVector(10);由10个字符串组成的数组:
std::string anArray[10];如果您真的想使用以零结尾的C字符串:
typedef char MyString[21]; // 20 + 1, for the terminating zero
MyString arrayOfThem[10];或者,更神秘的变体
char anArray[10][21]; https://stackoverflow.com/questions/27359766
复制相似问题