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. ERROR 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *'

ERROR 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *'

Scheduled Pinned Locked Moved C / C++ / MFC
helpquestion
20 Posts 8 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.
  • P Purish Dwivedi

    My code segment is as TCHAR ProxyHost[20]; strcpy(ProxyHost, m_proxy_host_ip); I am getting an error like 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *' How can I solve this? Plz help me. Thanks

    _ Offline
    _ Offline
    _AnsHUMAN_
    wrote on last edited by
    #2

    CString Management[^] Read this article rather than posting your questions related to type conversions.

    You need to google first, if you have "It's urgent please" mentioned in your question. ;-)_AnShUmAn_

    P 1 Reply Last reply
    0
    • _ _AnsHUMAN_

      CString Management[^] Read this article rather than posting your questions related to type conversions.

      You need to google first, if you have "It's urgent please" mentioned in your question. ;-)_AnShUmAn_

      P Offline
      P Offline
      Purish Dwivedi
      wrote on last edited by
      #3

      I have read that article. But not getting any help regarding this problem. Can u please tell me the solution? Thanks.

      C 1 Reply Last reply
      0
      • P Purish Dwivedi

        I have read that article. But not getting any help regarding this problem. Can u please tell me the solution? Thanks.

        C Offline
        C Offline
        Cedric Moonen
        wrote on last edited by
        #4

        This article[^] is probably better to understand what's going on. After that, take a look at the documentation of sctrpy to check which is the unicode independant version of the function.

        Cédric Moonen Software developer
        Charting control [v2.0] OpenGL game tutorial in C++

        1 Reply Last reply
        0
        • P Purish Dwivedi

          My code segment is as TCHAR ProxyHost[20]; strcpy(ProxyHost, m_proxy_host_ip); I am getting an error like 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *' How can I solve this? Plz help me. Thanks

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

          Purish Dwivedi wrote:

          I am getting an error like 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *'

          use _tcscpy instead

          "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
          Never mind - my own stupidity is the source of every "problem" - Mixture

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

          P 1 Reply Last reply
          0
          • T ThatsAlok

            Purish Dwivedi wrote:

            I am getting an error like 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *'

            use _tcscpy instead

            "Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
            Never mind - my own stupidity is the source of every "problem" - Mixture

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

            P Offline
            P Offline
            Purish Dwivedi
            wrote on last edited by
            #6

            If it is 'strlen' : cannot convert parameter 1 from 'TCHAR [20]' to 'const char *' then what to do?

            _ R S 3 Replies Last reply
            0
            • P Purish Dwivedi

              If it is 'strlen' : cannot convert parameter 1 from 'TCHAR [20]' to 'const char *' then what to do?

              _ Offline
              _ Offline
              _AnsHUMAN_
              wrote on last edited by
              #7

              Do you need _tcslen?

              You need to google first, if you have "It's urgent please" mentioned in your question. ;-)_AnShUmAn_

              1 Reply Last reply
              0
              • P Purish Dwivedi

                My code segment is as TCHAR ProxyHost[20]; strcpy(ProxyHost, m_proxy_host_ip); I am getting an error like 'strcpy' : cannot convert parameter 1 from 'TCHAR [20]' to 'char *' How can I solve this? Plz help me. Thanks

                P Offline
                P Offline
                PCuong1983
                wrote on last edited by
                #8

                try _tcscpy_s function instead strcpy function take a look in strpy definition strcpy work only ASCII , but TCHAR is char if Unicode is not defined or TCHAR is wchar_t if Unicode is defined

                P 1 Reply Last reply
                0
                • P Purish Dwivedi

                  If it is 'strlen' : cannot convert parameter 1 from 'TCHAR [20]' to 'const char *' then what to do?

                  R Offline
                  R Offline
                  Rajesh R Subramanian
                  wrote on last edited by
                  #9

                  There is a boatload of CRT string manipulation functions. You can be kind enough not to add a query here for every single function that is referred to in your code. Just get to the documentation page[^] and click on the function that you're using. Then, choose the generic text mapping routine version (tchar.h routine) of that function. As an example, choose _tcsdec instead of _strdec. You might want to read about Using Generic Text-Mappings[^].

                  It is a crappy thing, but it's life -^ Carlo Pallini

                  P 1 Reply Last reply
                  0
                  • P PCuong1983

                    try _tcscpy_s function instead strcpy function take a look in strpy definition strcpy work only ASCII , but TCHAR is char if Unicode is not defined or TCHAR is wchar_t if Unicode is defined

                    P Offline
                    P Offline
                    Purish Dwivedi
                    wrote on last edited by
                    #10

                    Code Segment is token=strtok(userid,_T(";")); What about this error? 'strtok' : cannot convert parameter 2 from 'const wchar_t [2]' to 'const char *'

                    CPalliniC 1 Reply Last reply
                    0
                    • R Rajesh R Subramanian

                      There is a boatload of CRT string manipulation functions. You can be kind enough not to add a query here for every single function that is referred to in your code. Just get to the documentation page[^] and click on the function that you're using. Then, choose the generic text mapping routine version (tchar.h routine) of that function. As an example, choose _tcsdec instead of _strdec. You might want to read about Using Generic Text-Mappings[^].

                      It is a crappy thing, but it's life -^ Carlo Pallini

                      P Offline
                      P Offline
                      Purish Dwivedi
                      wrote on last edited by
                      #11

                      Code Segment is token=strtok(userid,_T(";")); What about this error? 'strtok' : cannot convert parameter 2 from 'const wchar_t [2]' to 'const char *'

                      R 1 Reply Last reply
                      0
                      • P Purish Dwivedi

                        Code Segment is token=strtok(userid,_T(";")); What about this error? 'strtok' : cannot convert parameter 2 from 'const wchar_t [2]' to 'const char *'

                        R Offline
                        R Offline
                        Rajesh R Subramanian
                        wrote on last edited by
                        #12

                        Is it really that difficult? Read my previous reply to you again. Go to the documentation page and click on strtok and choose the generic text mapping routine equivalent instead. You need to read on Unicode, Generic Text mappings, Internationalization, and string manipulation. You really need to.

                        It is a crappy thing, but it's life -^ Carlo Pallini

                        P 1 Reply Last reply
                        0
                        • R Rajesh R Subramanian

                          Is it really that difficult? Read my previous reply to you again. Go to the documentation page and click on strtok and choose the generic text mapping routine equivalent instead. You need to read on Unicode, Generic Text mappings, Internationalization, and string manipulation. You really need to.

                          It is a crappy thing, but it's life -^ Carlo Pallini

                          P Offline
                          P Offline
                          Purish Dwivedi
                          wrote on last edited by
                          #13

                          I have changed that. Now the new error is 'wcstok' : cannot convert parameter 1 from 'char [1000]' to 'wchar_t *' what should I do now?

                          R 1 Reply Last reply
                          0
                          • P Purish Dwivedi

                            I have changed that. Now the new error is 'wcstok' : cannot convert parameter 1 from 'char [1000]' to 'wchar_t *' what should I do now?

                            R Offline
                            R Offline
                            Rajesh R Subramanian
                            wrote on last edited by
                            #14

                            Purish Dwivedi wrote:

                            what should I do now?

                            You are looking for someone to give you an 'instant fix' (not to mention you post a query for every error of the same type) without even understanding your problem properly, which is essentially not going to help you in the longer run. I am wanting you to understand the basics so that you will be able to solve the problem yourself. Therefore, do what Cédric asked you to do[^]

                            It is a crappy thing, but it's life -^ Carlo Pallini

                            P 1 Reply Last reply
                            0
                            • R Rajesh R Subramanian

                              Purish Dwivedi wrote:

                              what should I do now?

                              You are looking for someone to give you an 'instant fix' (not to mention you post a query for every error of the same type) without even understanding your problem properly, which is essentially not going to help you in the longer run. I am wanting you to understand the basics so that you will be able to solve the problem yourself. Therefore, do what Cédric asked you to do[^]

                              It is a crappy thing, but it's life -^ Carlo Pallini

                              P Offline
                              P Offline
                              Purish Dwivedi
                              wrote on last edited by
                              #15

                              I'm not getting that what to do? Plz help me. thanks.

                              C 1 Reply Last reply
                              0
                              • P Purish Dwivedi

                                I'm not getting that what to do? Plz help me. thanks.

                                C Offline
                                C Offline
                                Cedric Moonen
                                wrote on last edited by
                                #16

                                Purish Dwivedi wrote:

                                I'm not getting that what to do?

                                Look, people here are willing to help but if you don't want to put any effort yourself, then you can forget about it. The article I linked to you contains a lot of information about unicode and non-unicode builds. Once you have read the article, you will understand that to support both unicode and non-unicode builds, you will need to use TCHAR (and not char) and all the unicode-independant string manipulation routines (instead of strcpy, strlen, strtok, ...). For ALL of those functions, if you look in the MSDN documentation, you have a table that compares the different versions. You always have to use the "TCHAR.h routine" version.

                                Cédric Moonen Software developer
                                Charting control [v2.0] OpenGL game tutorial in C++

                                R 1 Reply Last reply
                                0
                                • C Cedric Moonen

                                  Purish Dwivedi wrote:

                                  I'm not getting that what to do?

                                  Look, people here are willing to help but if you don't want to put any effort yourself, then you can forget about it. The article I linked to you contains a lot of information about unicode and non-unicode builds. Once you have read the article, you will understand that to support both unicode and non-unicode builds, you will need to use TCHAR (and not char) and all the unicode-independant string manipulation routines (instead of strcpy, strlen, strtok, ...). For ALL of those functions, if you look in the MSDN documentation, you have a table that compares the different versions. You always have to use the "TCHAR.h routine" version.

                                  Cédric Moonen Software developer
                                  Charting control [v2.0] OpenGL game tutorial in C++

                                  R Offline
                                  R Offline
                                  Rajesh R Subramanian
                                  wrote on last edited by
                                  #17

                                  Cedric Moonen wrote:

                                  unicode-independant string manipulation routines

                                  Would that be rather character set independent string manipulation routines? OK, I'm just being a nitpick. :-D

                                  It is a crappy thing, but it's life -^ Carlo Pallini

                                  C 1 Reply Last reply
                                  0
                                  • R Rajesh R Subramanian

                                    Cedric Moonen wrote:

                                    unicode-independant string manipulation routines

                                    Would that be rather character set independent string manipulation routines? OK, I'm just being a nitpick. :-D

                                    It is a crappy thing, but it's life -^ Carlo Pallini

                                    C Offline
                                    C Offline
                                    Cedric Moonen
                                    wrote on last edited by
                                    #18

                                    Rajesh R Subramanian wrote:

                                    Would that be rather character set independent string manipulation routines?

                                    To be honnest, I didn't know the exact terminology. Now I know :)

                                    Cédric Moonen Software developer
                                    Charting control [v2.0] OpenGL game tutorial in C++

                                    1 Reply Last reply
                                    0
                                    • P Purish Dwivedi

                                      Code Segment is token=strtok(userid,_T(";")); What about this error? 'strtok' : cannot convert parameter 2 from 'const wchar_t [2]' to 'const char *'

                                      CPalliniC Offline
                                      CPalliniC Offline
                                      CPallini
                                      wrote on last edited by
                                      #19

                                      It looks like you're doing a UNICODE build, but, neverthless, userid is declared as char * (or char userid[]) insetad of TCHAR * and, moreover, you're not using the generic text equivalent of strtok (i.e. _tcstok). :)

                                      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                                      This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                                      [My articles]

                                      In testa che avete, signor di Ceprano?

                                      1 Reply Last reply
                                      0
                                      • P Purish Dwivedi

                                        If it is 'strlen' : cannot convert parameter 1 from 'TCHAR [20]' to 'const char *' then what to do?

                                        S Offline
                                        S Offline
                                        softwaremonkey
                                        wrote on last edited by
                                        #20

                                        As someone else mentioned, it looks like you have some mixed UNICODE and ANSI problems. Ti make the code portable, make sure you have included "TCHAR.H" and use _tcslen instead of strlen. That should fix the problem. Tony

                                        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