Sscanf Equivalent in Objective-C

前端 未结 2 1985
不思量自难忘°
不思量自难忘° 2021-01-17 22:28

I\'m currently writing a wavefront OBJ loader in Objective-C and I\'m trying to figure out how to parse data from an NSString in a similar manner to the sscanf() function in

2条回答
  •  萌比男神i
    2021-01-17 23:03

    To go from an NSString to an C-String (char *), use

    NSString *str = @"string";
    const char *c = [str UTF8String];
    

    Alternatively,

    NSString *str = @"Some string";
    const char *c = [str cStringUsingEncoding:NSUTF8StringEncoding];
    

    Provide access to the sscanf() function.

    To go the other way, use

    const *char cString = "cStr";
    NSString *string = [NSString stringWithUTF8String:cString];
    

    Or

    const *char cString = "cStr";
    NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
    

    From a pure ObjC standpoint, NSScanner provides the -scanInteger or -scanFloat methods to pull ints and floats out of a string.

    NSScanner *aScanner = [NSScanner scannerWithString:string];
    [aScanner scanInteger:anInteger];
    

提交回复
热议问题