Saturday, 7 September 2013

Converting static array to char* and managing the type conversion

Converting static array to char* and managing the type conversion

Previously I took static array like : char ch[20]. but I changed this
style bcoz may it need to be >20. So I declared it as char *ch; While I
ported my code it look like below with given prices.
char *word;
char *ch;
char *excluded_string;
char *skp;
std::string result_string;
std::string rcv;
i=0,j=0;
do {
bytesReceived = recv(*csock, buffer.data(), buffer.size(), 0);
if ( bytesReceived == -1 ) {
fprintf(stderr, "Error receiving data %d \n", errno);
goto FINISH; }
else
rcv.append( buffer.cbegin(), buffer.cend() );
182: } while ( bytesReceived == MAX_BUF_LENGTH )
184: word = strtok(& rcv[0]," ");
185: while (word!= NULL) {
6 ch[i] = (char *)strdup(word);
7 excluded_string[j]= strdup(word);
8 skp = BoyerMoore_skip(ch[i], strlen(ch[i]) ); //Booyes moore
is string search algo
9 if(skp != NULL)
0 {
201 i++;
2 continue;
3 }
4 bfr << excluded_string[j] << " ";
5 result_string = bfr.str();
6 j++;
7 }
Error:
daemon.cpp:184:8: error: expected ';' before 'word'
daemon.cpp:188:29: error: invalid conversion from 'char*' to 'char'
[-fpermissive]
daemon.cpp:189:41: error: invalid conversion from 'char*' to 'char'
[-fpermissive]
daemon.cpp:190:51: error: invalid conversion from 'char' to 'const char*'
[-fpermissive]
In file included from daemon.cpp:2:0:
/usr/include/string.h:395:15: error: initializing argument 1 of 'size_t
strlen(const char*)' [-fpermissive]
daemon.cpp:190:53: error: invalid conversion from 'char' to 'char*'
[-fpermissive]
In file included from daemon.cpp:36:0:
dictionary_exclude.h:4:14: error: initializing argument 1 of 'char*
BoyerMoore_skip(char*, int)' [-fpermissive]
How to remove these error?

No comments:

Post a Comment