我想将一个字符串分成4个部分。我需要的基本上是这样的:C将一个字符串分成4个变量
sscanf(string, "%d %d %d %[^\n]", id1, id2, id3, restOfString);
的VAR restOfString是一个char * 问题:restOfString必须指向的内存可能仍然在最小的空间内包含由%[^ \ n指示的所有字符串]。
我只想了解asprintf的功能。它有一个内部malloc(),用于创建打印字符串所需的内存空间。我想用sscanf()的相同技术。我怎么能做到这一点?我怎么知道sscanf()会读取的字符串的大小?
我不知道'%n'说明符,但开始思考一个类似的解决方案,并在编辑中提出了以下建议。谢谢! – RushPL
谢谢。这将会很好。有了这个,我可以按我的意愿工作。我不需要复制所有的字符串,我只需要它的一部分,这将允许我这样做。 – brunoais