c++怎样实现不确定元素数目的向量
我要从数据库里提出一个向量,然后对这个向量进行操作,但向量的数目不确定,怎样实现自动识别输入向量的元素数目,最好能有代码的说明,谢谢大家!
int size ;
cout << "Please input size : " ;
cin >> size ; //输入数组大小
vector<int>a ;
for (int i=0;i<size;i++)
{
a.push_back(i);
}
上面的这种都是要输入数组的大小,能不能不输入大小,系统自动识别数目?
[解决办法]
用while循环如:
while()
{
a.push_back(x);
}
括号内是结束条件。
[解决办法]
不想计数,那就要做个结束符。比如C分隔的字符串的结束符是‘\0’。strcpy这类函数内部就是循环,直到遇到'\0'结束
[解决办法]
向量的数目得确定,无论是通过告诉程序终止条件还是告诉程序添加多少元素,否则,你的循环靠什么终止?
我理解你想问的问题是向量对应在数据库里的元素数目不确定,这可以通过vector的size函数获取,然后通过下标去进行元素的赋值等操作。
假如你用的是ODBC数据访问技术,提取的向量是vector<int>a ,那么,可以这么写
- C/C++ code
CDatabase db; db.OpenEx(_T("DSN=/**你的数据库**/;UID=;PWD=;"), CDatabase::noOdbcDialog); CRecordset rs(&db); rs.Open(CRecordset::forwardOnly, _T("/**一个SQL语句***/")); while(!rs.IsEOF()) { a.push_back(/**添加的元素**/); rs.MoveNext(); }
[解决办法]
vector 中有 size() 和 capacity(),中直接调用就OK了.
[解决办法]
迭代。