से लौटने के बाद NULL भेजता है मैं अपने कोड सब कुछ में एक ही समारोह बुला नहीं कर रहा हूँ जब अच्छी तरह से काम करता है, लेकिन जब चर pch
अचानक एक प्रत्यावर्तन से समारोह रिटर्न शून्य है:ग strtok प्रत्यावर्तन
void someFunction()
{
char * pch;
char tempDependencies[100*64+100];
strcpy(tempDependencies,map[j].filesNeeded);
pch = strtok(tempDependencies,",");
while (pch != NULL)
{
someFunction(); <- if i comment this out it works fine
pch = strtok (NULL, ",");
}
}
तो के लिए उदाहरण के लिए जब लूप स्ट्रिंग file2,file3,file4
पर कार्य करता है तो यह सही ढंग से file2
विभाजित करता है और स्ट्रिंग को file2\\000file3,file4
में संशोधित करता है लेकिन pch = strtok (NULL, ",");
पर अगली कॉल pch
0x0
होने के लिए प्रस्तुत करता है। क्या ऐसी चीजें हैं जिन्हें मैं रिकर्सन कॉल करते समय अवगत नहीं हूं?