No conversion from "const char" to "int"

Casper

The following is the problem code.

#include <iostream>
#include <cctype>
using namespace std;

void convertToUppercase(char *);

int main()
{
    char phrase[] = "characters and $32.98";

    cout << "The phrase before conversion is : " << phrase;
    convertToUppercase(phrase);
    cout << "\nThe phrase after conversion is : " << phrase << endl;
    return 0;
}

void convertToUppercase(char *sPtr)
{
    while (*sPtr != "\0")
    {
        if (islower(*sPtr))
            *sPtr = toupper(*sPtr);

        cout << "sPtr (before) = " << sPtr;
        sPtr++;
        cout << "\nsPtr (after) = " << sPtr << endl;
    }
}

The output window shows me that :

1>d:\sync files\converting lowercase letter to uppercase letters\converting lowercase letter to uppercase letters\main.cpp(19): error C2446: '!=' : no conversion from 'const char *' to 'int'
1>          There is no context in which this conversion is possible
1>d:\sync files\converting lowercase letter to uppercase letters\converting lowercase letter to uppercase letters\main.cpp(19): error C2040: '!=' : 'int' differs in levels of indirection from 'const char [2]'

Where is the mistake I made? I have exactly copied the code from my book but the problem still exists.

Sorry, I cannot find it out. need Help.

Thank you for your attention.

Baum mit Augen
  1. Your while condition should check *sPTR != '\0', "\0" is of type const char*
  2. If toupper is passed a negative value, you invoke UB, so make sure to call it with static_cast<unsigned char> (Details)
  3. You do not need to check islower, toupper already does that
  4. Make your life easier, use std::string:

    void convertToUpper (std::string& str) {
     for (auto& v:str)
         v = toupper(static_cast<unsigned char>(v));
    }
    

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

g++ strstr says invalid conversion from const char * to char *

From Dev

ALL_OF invalid conversion from 'char' to 'const char*' [-fpermissive]

From Dev

invalid conversion from 'const char*' to 'char*'

From Dev

Invalid conversion from 'char' to 'const char *'

From Dev

strcpy() causes invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

From Dev

No suitable conversion function from "std::string" to "const char *" exists

From Dev

error: invalid conversion from ‘char’ to ‘const char*

From Dev

C++ --- error C2664: 'int scanf(const char *,...)' : cannot convert argument 1 from 'int' to 'const char *'

From Dev

Invalid conversion from ‘const char*’ to ‘unsigned char*’

From Dev

How to resolve this: invalid conversion from 'const char*' to 'const uint8_t*

From Dev

Conversion from string to const char* + size_t in ""operator

From Dev

EVP_DigestUpdate and "invalid conversion from ‘unsigned char*’ to ‘const char*’"

From Dev

Cannot Convert 'int' to 'const char *'

From Dev

iOS Concatenate const char with int

From Dev

No conversion from DWORD to const char*

From Dev

C++: invalid conversion from 'const char*' to 'size_t'?

From Dev

Invalid conversion from char to const char when using Insert function from <string>

From Dev

invalid conversion from ‘const char*’ to ‘char*

From Dev

Conversion from int to c-string (const char*) fails

From Dev

conversion from `const char*' to `byte'

From Dev

error: invalid conversion from ‘char’ to ‘const char*

From Dev

Cant find resolution for the error "invalid conversion from char to const char*"

From Dev

invalid conversion from ‘const char*’ to ‘char’ / uninitialized const member in struct

From Dev

Conversion not valid from char to const char*

From Dev

C - [Error] invalid conversion from 'char' to 'const char*' [-fpermissive]

From Dev

Short one: invalid conversion from char to const char*

From Dev

error: invalid conversion from 'char' to 'const char*' [-fpermissive]|

From Dev

c++ invalid conversion from 'const char*' to 'char*'

From Dev

Invalid conversion from 'char' to 'const char*' [-fpermissive](idk why)

Related Related

  1. 1

    g++ strstr says invalid conversion from const char * to char *

  2. 2

    ALL_OF invalid conversion from 'char' to 'const char*' [-fpermissive]

  3. 3

    invalid conversion from 'const char*' to 'char*'

  4. 4

    Invalid conversion from 'char' to 'const char *'

  5. 5

    strcpy() causes invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

  6. 6

    No suitable conversion function from "std::string" to "const char *" exists

  7. 7

    error: invalid conversion from ‘char’ to ‘const char*

  8. 8

    C++ --- error C2664: 'int scanf(const char *,...)' : cannot convert argument 1 from 'int' to 'const char *'

  9. 9

    Invalid conversion from ‘const char*’ to ‘unsigned char*’

  10. 10

    How to resolve this: invalid conversion from 'const char*' to 'const uint8_t*

  11. 11

    Conversion from string to const char* + size_t in ""operator

  12. 12

    EVP_DigestUpdate and "invalid conversion from ‘unsigned char*’ to ‘const char*’"

  13. 13

    Cannot Convert 'int' to 'const char *'

  14. 14

    iOS Concatenate const char with int

  15. 15

    No conversion from DWORD to const char*

  16. 16

    C++: invalid conversion from 'const char*' to 'size_t'?

  17. 17

    Invalid conversion from char to const char when using Insert function from <string>

  18. 18

    invalid conversion from ‘const char*’ to ‘char*

  19. 19

    Conversion from int to c-string (const char*) fails

  20. 20

    conversion from `const char*' to `byte'

  21. 21

    error: invalid conversion from ‘char’ to ‘const char*

  22. 22

    Cant find resolution for the error "invalid conversion from char to const char*"

  23. 23

    invalid conversion from ‘const char*’ to ‘char’ / uninitialized const member in struct

  24. 24

    Conversion not valid from char to const char*

  25. 25

    C - [Error] invalid conversion from 'char' to 'const char*' [-fpermissive]

  26. 26

    Short one: invalid conversion from char to const char*

  27. 27

    error: invalid conversion from 'char' to 'const char*' [-fpermissive]|

  28. 28

    c++ invalid conversion from 'const char*' to 'char*'

  29. 29

    Invalid conversion from 'char' to 'const char*' [-fpermissive](idk why)

HotTag

Archive