Warrior
Warrior

Reputation: 39374

How to convert nsstring to cString?

I have a nsstring(filePath), which has the path to the audio file. I want open the audio file, so I want to convert the nsstring to Cstring.

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

is the above line is correct or not, because I can also use fopen([filePath cString], "r");. In some websites it is mentioned to use UTF8stringEncoding. Which is the the right NSString to string conversion?

Upvotes: 8

Views: 11062

Answers (2)

Antoine Rosset
Antoine Rosset

Reputation: 1065

Don't use UTF8String, but fileSystemRepresentation.

You should do this because HFS+ or other file systems are not strictly compatible with the Unicode system. Another reason: This method operates by replacing the abstract path and extension separator characters (‘/’ and ‘.’ respectively) with their equivalents for the current file system.

Upvotes: 6

Jacob Relkin
Jacob Relkin

Reputation: 163228

Use UTF8String:

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

Upvotes: 17

Related Questions