Я недавно имел дело с разбором CSV для Yahoo! Финансы тоже. Я использовал Ragel , чтобы написать парсер на C, который был достаточно хорош для CSV, который я получал. Он обрабатывал все, кроме уклонившихся котировок, которые не будут сильно проявляться в котировках акций. Это было довольно безболезненно и хороший опыт обучения. Я бы выложил код, но он работал напрокат, поэтому я не владею им.
Превратить строку C в NSString
легко. Если у вас есть NSData
, как вы, вероятно, делаете в конце загрузки URL-адреса, просто выполните [[NSString alloc] initWithData:csvData encoding:NSUTF8StringEncoding]
. Если у вас есть указатель на символьный буфер, используйте [[NSString alloc] initWithBytes:buffer length:buflen encoding:NSUTF8StringEncoding]
. buflen
может быть strlen(buffer)
, если buffer
является нормальной строкой C, заканчивающейся NUL.