VC++6中有没有字符串变量,不要跟我讲字符串数组。如果有的话,请再告知一下,如何去除其前后空格,以及如何将其数值直接赋值给数值变量,比如直接将其中存放的字符串"3849" 直接赋值给 数值型变量,使其值为3849  ,或 是此字符串内容为"3.839",赋值给一个数值型变量,例其值为3.839.
还有再就是如何将数值型变量 赋值给 字符串变量, 使数值型变量  如3.839 赋值给字符串变量后,如其内容为"3.839"(4个字节)

解决方案 »

  1.   


    #include "atlstr.h"int main()
    { CString tmpStr1("123   ");
    tmpStr1.TrimRight(); //去除后面的空格
    printf_s("%s\n", tmpStr1); int i = atoi(tmpStr1.GetBuffer(0)); //字符串转换为整数
    printf_s("%d\n", i); tmpStr1 = "3.14";
    float f = atof(tmpStr1.GetBuffer(0)); //字符串转换为浮点数
    printf_s("%f\n", f); tmpStr1.Format("%f", f);
    printf_s("%s\n", tmpStr1.GetBuffer(0)); //浮点数转换为字符串 return 0;
    }
      

  2.   

    字符串变量char a;   这个?CString a; 也是吧?朦胧CString a;
    int b;
    a.Format(“%d”,b);CString a;
    int b;
    b = atoi(a);atoi 字符串转换数字
    a.Format("%d",b); 数字转字符串呵呵,我是这么理解LZ的,要是理解错了 不要笑话呀。
      

  3.   

    不好意思,不关心这100分,可以不用看本贴。我是用VB开发程序的,但现在急于用VC6开发一个动态链接库,VC的基础知识确实很差。
      

  4.   

    CString类就可以了
    CString->int
    _tcstoul(),
    CString->double
    _tcstod();
      

  5.   

    vc中字符串用CString等包装好的MFC类,转换用atoi,atof等函数来帮你
      

  6.   

    就像6楼说下的那么做 他只说了 CString转int 其实CString转什么类型都可以 只是要及个函数
    atoi();atof();atol();百度上搜索一下CString转**就会告诉你步骤 
    希望对你有用
    期待接分
      

  7.   

    CString
    std::string还不够可以到boost库找相关函数
      

  8.   

    从VC的语法上讲没有,但是VC是一个非常大的体系,其中扩充的类里就实现了,比如CString,类从本质上也是一种数据类型。所以从这个层次上讲也是有的。不知道楼主可满意
      

  9.   

    其实楼主也可以用stl的string啊,方便多了
      

  10.   

    在VC中,可以使用VARIANT保存数据和转换数据类型(事实上VB就是用VARIANT作为变量的),已经有一些现成的封装类可以帮你自动转换了,比如CComVariant/_variant_t/COleVariant,转换类型也很简单,这里是一个示例:CComVariant vStr = "3849"; // 或者 vStr = L"3849";
    CComVariant vLong;
    vLong.ChangeType(VT_I4, &vStr);
    printf("%d", (long)vLong);CComVariant vFloat2Str = 3.839;
    vFloat2Str.ChangeType(VT_BSTR);
    printf("%S", (BSTR)vFloat2Str);
    ChangeType函数调用的是API函数VariantChangeType,一个函数解决了所有类型转换,当然不能转换的类型是会返回错误的。
      

  11.   

    字符转浮点atof()类似函数很多啊~
      

  12.   

    用cstring应该可以实现吧,详细的自己去看
      

  13.   

    fatal error C1083: Cannot open include file: 'atlstr.h': No such file or directory这个提示是什么意思。
      

  14.   

    我一看楼主的问题就感觉楼主应该是从java, .net, 或是vb转过来的,对C++语言缺乏明确的认识。你现在用c++,就要抛弃原来很多固有的观念。
      

  15.   

    方法一:
    char  s1[5]="3849";
    char  s2[5]="3.839";
    int   Data1=3849;
    float Data2=3.839;
    char  Val1[5]="\0";
    char  Val2[5]="\0";
    int   Val3=0;
    float Val4=0;sprintf(val1,"%d",Data1);//整数-->字串
    sprintf(val1,"%f",Data2);//小数-->字串
    sscanf(s1,"%d",&Val3);   //字串-->整数 
    sscanf(s2,"%f",&Val4);   //字串-->小数方法一:
    CString  s1="3849";
    CString  s2="3.839";
    int      Data1=3849;
    float    Data2=3.839;
    CString  Val1;
    CString  Val2;
    int      Val3=0;
    float    Val4=0;val1.Format("%d",Data1);//整数-->字串
    val2.Format("%f",Data2);//小数-->字串
    Val3=atoi(s1);          //字串-->整数
    Val4=atof(s2);          //字串-->小数
      

  16.   

    CString tmpStr1("123   ");
        tmpStr1.TrimRight();                //去除后面的空格
        printf_s("%s\n", tmpStr1);    int i = atoi(tmpStr1.GetBuffer(0));    //字符串转换为整数
        printf_s("%d\n", i);    tmpStr1 = "3.14";
        float f = atof(tmpStr1.GetBuffer(0));    //字符串转换为浮点数
        printf_s("%f\n", f);    tmpStr1.Format("%f", f);
        printf_s("%s\n", tmpStr1.GetBuffer(0));    //浮点数转换为字符串
      

  17.   

    有啊  !!!!
    CString 就是字符串变量!!
    要将其转换成int double型
    用函数atoi,atof就可以了啊 

    CString str="123";
    int a;
    double b;
    a=atoi(str);
    b=atof(str);
      

  18.   

    boost里面的智能指针好像可以,不过和vc没有关系。