首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

在询问C++有关问题,字符串拼接的有关问题,小弟我一学java的,现在天天在c++论坛混,悲剧啊

2013-03-25 
在询问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(...)
{
   ...
}

引用:
引用:
char str[260] = {0};
sprintf(str ,"%ld%ld%ld%ld%ld%ld%ld%ld%ld" ,lTMachineNO,lEnrollNO,lEMachineNO......);
大哥,果然还是你的方法高明啊。
我现在用cout<<str<<endl;效果和原来那么多个cout的效果一样。
我在请教下,现在这个,……

#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;
}

热点排行