Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. conversion to _bstr_t - newbie

conversion to _bstr_t - newbie

Scheduled Pinned Locked Moved C / C++ / MFC
16 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Sarath C

    _bstr_t is a type which can hold unicode string. CString strText; // format the value to CString strText.Format("%d",nValue); call strText.AllocSysString(); to convert SaRath.
    "Don't Do Different things... Do Things Differently..."

    T Offline
    T Offline
    ThatsAlok
    wrote on last edited by
    #7

    SaRath C wrote:

    _bstr_t is a type which can hold unicode string.

    you getting very fast :)

    "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

    cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Relief and You

    1 Reply Last reply
    0
    • A antonaras

      Thanks ThatsAlok I'm getting there is almost working how about doubles? Appreciate the help

      S Offline
      S Offline
      Sarath C
      wrote on last edited by
      #8

      You will get the expected string depends on the format specifier you are specifying http://msdn2.microsoft.com/en-us/library/75w45ekt.aspx[^] SaRath.
      "Don't Do Different things... Do Things Differently..."

      1 Reply Last reply
      0
      • A antonaras

        Thanks ThatsAlok I'm getting there is almost working how about doubles? Appreciate the help

        T Offline
        T Offline
        ThatsAlok
        wrote on last edited by
        #9

        antonaras wrote:

        how about doubles?

        use %e format

        "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

        cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Re

        A 1 Reply Last reply
        0
        • S Sarath C

          _bstr_t is a type which can hold unicode string. CString strText; // format the value to CString strText.Format("%d",nValue); call strText.AllocSysString(); to convert SaRath.
          "Don't Do Different things... Do Things Differently..."

          T Offline
          T Offline
          ThatsAlok
          wrote on last edited by
          #10

          SaRath C wrote:

          call strText.AllocSysString(); to convert

          there can Memory Leak problem here!

          "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

          cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Relief and You

          1 Reply Last reply
          0
          • T ThatsAlok

            antonaras wrote:

            how about doubles?

            use %e format

            "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow

            cheers, Alok Gupta VC Forum Q&A :- I/ IV Support CRY- Child Re

            A Offline
            A Offline
            antonaras
            wrote on last edited by
            #11

            Hey ThatsAlok i tried your code and it works fine with integers but i have double valField4; TCHAR szStr2[100]; wsprintf(szStr2,"%e",valField4); _bstr_t bstText2(szStr2); printf("%s\n",(LPCSTR)bstText2); the otput for bstText2 that i get is e why does that happen thanks again

            1 Reply Last reply
            0
            • A antonaras

              Hi guys can i convert integers and doubles to _bstr_t; if yes can you tell me how thanks a lot

              V Offline
              V Offline
              Viorel
              wrote on last edited by
              #12

              If you are familiar with STL, you can use one more method:

              int i = 1234567;
              double d = 123.4567;
              _bstr_t s1, s2;
              
              // convert integer
              {
                  std::ostrstream os;
                  os << i << std::ends;
                  s1 = os.str();
              }
              // convert double
              {
                  std::ostrstream os;
                  os << d << std::ends;
                  s2 = os.str();
              }
              
              A 1 Reply Last reply
              0
              • V Viorel

                If you are familiar with STL, you can use one more method:

                int i = 1234567;
                double d = 123.4567;
                _bstr_t s1, s2;
                
                // convert integer
                {
                    std::ostrstream os;
                    os << i << std::ends;
                    s1 = os.str();
                }
                // convert double
                {
                    std::ostrstream os;
                    os << d << std::ends;
                    s2 = os.str();
                }
                
                A Offline
                A Offline
                antonaras
                wrote on last edited by
                #13

                Thanks Viorel i tried your code but i get lots of compilation errors 'ostrstream' : undeclared identifier syntax error : missing ';' before identifier 'os' 'os' : undeclared identifier and so on what i'm doing wrong i have included string is there anything else i need to include thanks

                V 1 Reply Last reply
                0
                • A antonaras

                  Thanks Viorel i tried your code but i get lots of compilation errors 'ostrstream' : undeclared identifier syntax error : missing ';' before identifier 'os' 'os' : undeclared identifier and so on what i'm doing wrong i have included string is there anything else i need to include thanks

                  V Offline
                  V Offline
                  Viorel
                  wrote on last edited by
                  #14

                  In order to use these STL features, you have to include a header file:

                  #include <strstream>
                  

                  Next, you may receive an "unresolved external symbol" error displayed by the linker. In this case, you have to make one more addition: specify "comsuppwd.lib" in the "Linker --> Input --> Additional Dependencies" configuration option of your project. (In release compilation mode, specify "comsuppw.lib"). You can always see which header file or library is required by analyzing the descriptions in MSDN.

                  A 1 Reply Last reply
                  0
                  • V Viorel

                    In order to use these STL features, you have to include a header file:

                    #include <strstream>
                    

                    Next, you may receive an "unresolved external symbol" error displayed by the linker. In this case, you have to make one more addition: specify "comsuppwd.lib" in the "Linker --> Input --> Additional Dependencies" configuration option of your project. (In release compilation mode, specify "comsuppw.lib"). You can always see which header file or library is required by analyzing the descriptions in MSDN.

                    A Offline
                    A Offline
                    antonaras
                    wrote on last edited by
                    #15

                    thanks Viorel is working fine now thanks for all the help

                    1 Reply Last reply
                    0
                    • A antonaras

                      Hi guys can i convert integers and doubles to _bstr_t; if yes can you tell me how thanks a lot

                      D Offline
                      D Offline
                      David Crow
                      wrote on last edited by
                      #16

                      antonaras wrote:

                      can i convert integers and doubles to _bstr_t;

                      Just assign them:

                      double d;
                      int x;
                      _bstr_t str;
                      str = d;
                      str = (long) x;


                      "The largest fire starts but with the smallest spark." - David Crow

                      "Judge not by the eye but by the heart." - Native American Proverb

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups