Мне нужно разбить строку на несколько строк. На самом деле мне нужно проанализировать некоторые данные из файла, который находится в следующем формате (i9, i9, i2), например.Разбор строки в несколько строк
i9 означает десятичное число как: (5blankspaces) 4567
Так мне нужно получить, что номера должным образом. Ширина всегда фиксируется, поэтому каждое число должно подчиняться этому. Правильный экземпляр этого формата будет
(5spaces) 4567 (6spaces) 453 (1space) 2 или (5spaces) 4567 (6spaces) 45322 (где 22 является аргументом для i2 в данном случае)
Белые пробелы перед цифрами дают мне головную боль, поэтому я думал, что могу разделить каждый аргумент на массив символов, а затем преобразовать его в целое число, поскольку спецификатор% d игнорирует все пустое пространство, и я не знаю, как использовать ширину как а также игнорировать пробелы .. (если это можно сделать, я имею в виду, разбор всех целых, пожалуйста, скажите это!)
Если нет .. ну, мне нужна помощь, чтобы разобрать e очень строку в подстроки, до сих пор я сделал это, но это не работает:
while (fgets(buffer, 600, f)) {
sscanf(buffer, "%9[^\n]s %9[^\n]s %2[^\n]s", arg1, arg2, arg3);
....
}
Пожалуйста, любая помощь будет принята с благодарностью !!!
C или C++? Выбери свою судьбу! :) –
Возможный дубликат [Разбор строки с разделителями-запятой std :: string] (http://stackoverflow.com/questions/1894886/parsing-a-comma-delimited-stdstring) –
Возможный дубликат [Разбор строки в длинном C] (http://stackoverflow.com/questions/7930167/parsing-string-to-long-in-c) –