在询问C++有关问题,字符串拼接的有关问题,小弟我一学java的,现在天天在c++论坛混,悲剧啊
在询问C++问题,字符串拼接的问题,我一学java的,现在天天在c++论坛混,悲剧啊。先上代码如下:bool CCfalse
在询问C++问题,字符串拼接的问题,我一学java的,现在天天在c++论坛混,悲剧啊。
先上代码如下:
bool C;
C=false;
string str[8];
while(C)
{
C =p->GetAllGLogData(18,&lTMachineNO,&lEnrollNO,&lEMachineNO,&lVerifyMode,&lYear,&lMonth,&lDay,&lHour,&lMin);
str[0]=lTMachineNO;
str[1]=lEnrollNO;
str[2]=lEMachineNO;
str[3]=lVerifyMode;
str[4]=lYear;
str[5]=lMonth;
str[6]=lDay;
str[7]=lHour;
str[8]=lMin;
RecCount++;
}
过程就是调用一个方法叫做GetAllGLogData,这个方法会返回9个值,都是long类型的。
而且是调用一次就返回9个,用前面那个C做判读标识,当C不为false的时候,就一直调用,这样就形成了一个二维数组,现在头大的是,这个行数不是固定的,也没有办法预判,因为没有获取行数的办法。除非在while一次,那这个效率···········
我根据java的方法已经想了很多办法还是没辙。
方法一,将9个数字拼接成字符串,比如:a1,a2,a3····a9,大不了在根据逗号拆分。结果,我拼接不起来···
方法二,我打算用ArrayList<long> arr =new ArrayList<long>();先将那个9个add进去;然后在用ArrayList<object> arr1=new ArrayList<object>();将前面那个arr在用add到arr1里面,结果还是没有搞定。
方法三,用指针,拼接内存地址,这个就更不用说了。
求各位大哥,这事该怎么处理啊,我需要将最后这个二维数组传出去,让别的方法调用啊 c++
[解决办法]#include <string>
#include <vector>
vector<string> MyData;
while(...)
{
...
}
#include <string>
#include <vector>
void fun(vector<string> & MyData)
{
while(...)
{
...
char str[260] = {0};
sprintf(str ,"%ld%ld%ld%ld%ld%ld%ld%ld%ld" ,lTMachineNO,lEnrollNO,lEMachineNO......);
MyData.push_back(string(str));
...
}
}
int main()
{
vector<string> MyData; // 这个容器里包含着你要的结果
fun(MyData);
return 0;
}