c++ - char pointer comparison error -
using c++ mfc , visual studio 2008.
sorry newbie question, i'm not sure why isn't working. i'm making function finds standard illegal characters xml in char *
that's passed it, strange error.
char* xmlillegalcharacterparser(char *input){ char *temp; (size_t = 0; < strlen(input); i++){ if(input[i] == "\"" || input[i] == "\'" || input[i] == "&") } return temp; } 1>.\fileimport.cpp(868) : error c2446: '==' : no conversion 'const char *' 'int'
i can't life of me figure out why isn't working. syntax have wrong?
ps: know have 3 of characters there. got error , wanna fix before add other two.
here after code:
char* xmlillegalcharacterparser(char *input){ char *temp; (size_t = 0; < strlen(input); i++){ switch(input[i]){ case '\"': strcat_s(temp, 6, """); break; case '\'': strcat_s(temp, 6, "'"); break; case '&': strcat_s(temp, 5, "&"); break; case '<': strcat_s(temp, 4, "<"); break; case '>': strcat_s(temp, 4, ">"); break; default: strcat_s(temp, 1, (const char*)input[i]); break; } } return temp; }
you mean single quotes instead of double:
input[i] == '"' ^ ^
same goes other cases. when use double quotes, in "&", create "string literal". input[i]
character: can't compare string literal character.
what's more, if input[i]
string literal, wouldn't right way compare c-style strings in c++.
Comments
Post a Comment