मैं strtok()
का उपयोग कर तारों का विश्लेषण करने की कोशिश कर रहा था; मैं अर्धविराम (;) द्वारा सीमित तारों को पार्स करने की कोशिश कर रहा हूं। लेकिन जब मैं strtok()
पर अर्धविराम के साथ एक स्ट्रिंग इनपुट करता हूं, तो यह पूरी स्ट्रिंग देता है। यदि कोई टोकन मैचों नहीं हैं तो NULL
वापस नहीं आना चाहिए?स्ट्रेटोक(), कोई टोकन मैच
यह मेरा कोड है:
int main(int argc, char** argv)
{
char cmd[] = "INSERT A->B B->C INSERT C->D";
char delim[] = ";";
char *result = NULL;
result = strtok(cmd,delim);
if(result == NULL)
{
printf("\n NO TOKENS\n");
}
else
{
printf("\nWe got something !! %s ",result);
}
return (EXIT_SUCCESS);
}
उत्पादन होता है: हम कुछ हो गया है !! सम्मिलित करें A-> बी बी> सी सम्मिलित सी> डी
है यदि कोई टोकन मैचों नहीं हैं तो क्या यह न्यूल वापस नहीं आना चाहिए? ओ। पूरी स्ट्रिंग एक टोकन मैच है। –
यदि आप ';' खोज रहे हैं टोकन के बजाए, 'strchr' आज़माएं। – ams