سؤال

لدي NSString (FilePath) ، الذي لديه المسار إلى ملف الصوت. أريد فتح ملف الصوت ، لذلك أريد تحويل NSString إلى Cstring.

  fopen([filePath cStringUsingEncoding:1], "r");

هل السطر أعلاه صحيح أم لا ، لأنه يمكنني أيضًا استخدامه fopen([filePath cString], "r");. في بعض مواقع الويب ، يتم ذكرها لاستخدام UTF8StringEncoding. ما هو NSString الصحيح لتحويل السلسلة؟

هل كانت مفيدة؟

المحلول

يستخدم UTF8String:

fopen([filePath UTF8String], "r");

نصائح أخرى

لا تستخدم UTF8String, ، لكن fileSystemRepresentation.

يجب عليك القيام بذلك لأن HFS+ أو أنظمة الملفات الأخرى غير متوافقة تمامًا مع نظام Unicode. سبب آخر: تعمل هذه الطريقة عن طريق استبدال أحرف مسار وامتداد فاصل التمديد ('/' و '.' على التوالي) مع ما يعادلها لنظام الملفات الحالي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top