strtok()
tidak MT-safe karena menyimpan beberapa variabel perantara secara global dan menggunakannya kembali pada setiap panggilan (lihat Anda tidak perlu meneruskan string lagi setiap kali Anda memanggil strtok()
). Anda dapat melihat halaman manual dari metode yang Anda gunakan dan selalu ditunjukkan di bagian akhir apakah MT-safe atau tidak.
Ketika sebuah metode tidak MT-safe (multi-thread safe atau reentrant), Anda harus mencari metode yang sama dengan akhiran _r yang berarti reentrand. Dalam contoh Anda, strtok_r()
seperti yang disarankan dalam jawaban lain.
strtok()
bukan reentrant sehingga tidak boleh digunakan dari aplikasi threaded, gunakan strtok_r()
sebagai gantinya.
Menautkan ke libc versi lama untuk menyediakan cakupan aplikasi yang lebih luas
Bisakah sebuah executable menemukan jalannya sendiri? (Linux)