It looks like you're new here. If you want to get involved, click one of these buttons!
In C, I'm attempting to tokenize a string using strtok. I use strtok since the string includes several delimiters, however, it fails to tokenize the strings if they contain white space.
String to tokenize: Name:Mustafa Baki /Phone:123456789 /Note:real char *name = strtok(line," /"); char *phone = strtok(NULL, " /"); char *note1 = strtok(NULL," /"); //tokenize name name = strtok(name, ":"); name = strtok(NULL, ":"); //tokenize phone number phone = strtok(phone, ":"); phone = strtok(NULL, ":"); //tokenize note note1 = strtok(note1, ":"); note1 = strtok(NULL, ":"); printf("Name: %s Phone: %s Note: %s \n",name,phone,note1);
Mustafa is the name I got. Phone: (null) (null) Take note of 123456789 when it is printed.
Everything is ruined since the name has white space. As you can see, it just skips the phone number and assigns it to the note.
How do I make that right? Is it feasible to take the string as complete as given in this blog after the delimiter, for example, Name:Mustafa Baki, and tokenize it? Can I take Mustafa Baki in its whole after:? Is concatenation or anything required?