كيفية تحويل NSString إلى Cstring؟
-
26-09-2019 - |
سؤال
لدي NSString (FilePath) ، الذي لديه المسار إلى ملف الصوت. أريد فتح ملف الصوت ، لذلك أريد تحويل NSString إلى Cstring.
fopen([filePath cStringUsingEncoding:1], "r");
هل السطر أعلاه صحيح أم لا ، لأنه يمكنني أيضًا استخدامه fopen([filePath cString], "r");
. في بعض مواقع الويب ، يتم ذكرها لاستخدام UTF8StringEncoding. ما هو NSString الصحيح لتحويل السلسلة؟
المحلول
يستخدم UTF8String
:
fopen([filePath UTF8String], "r");
نصائح أخرى
لا تستخدم UTF8String
, ، لكن fileSystemRepresentation
.
يجب عليك القيام بذلك لأن HFS+ أو أنظمة الملفات الأخرى غير متوافقة تمامًا مع نظام Unicode. سبب آخر: تعمل هذه الطريقة عن طريق استبدال أحرف مسار وامتداد فاصل التمديد ('/' و '.' على التوالي) مع ما يعادلها لنظام الملفات الحالي.
لا تنتمي إلى StackOverflow