C-字符串数组的长度
我有我的字符串数组->C-字符串数组的长度,c,arrays,string,C,Arrays,String,我有我的字符串数组->*nome[]={“String1”、“String2”、“String3”} 现在,我想迭代所有字符串 我已经试过了 while(nome[i] != '\0') 但我总是遇到同样的问题-分割错误您可以使用容器,例如vector #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector&
*nome[]={“String1”、“String2”、“String3”}
现在,我想迭代所有字符串
我已经试过了
while(nome[i] != '\0')
但我总是遇到同样的问题-分割错误您可以使用容器,例如vector
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> svec;
/*append some elements*/
svec.push_back("string1");
svec.push_back("string2");
svec.push_back("string3");
for(vector<string>::iterator it = svec.begin();
it != svec.end(); ++it)
{
//do something
}
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
向量svec;
/*附加一些元素*/
svec.推回(“string1”);
svec.推回(“string2”);
svec.推回(“string3”);
对于(vector::iterator it=svec.begin();
it!=svec.end();++it)
{
//做点什么
}
}
使用迭代器,您不需要知道数组在哪里溢出,分段错误可能不会发生。希望能对您有所帮助 更改为*nome[]={“String1”、“String2”、“String3”、NULL}
并将循环更改为,而(nome[i]!=NULL)