我想將一個字符串分成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