У меня есть файл со следующими данными:
0, 2, 10
10, 8, 10
10, 10, 10
10, 16, 10
15, 10, 16
17, 10, 16
Я хочу иметь возможность вводить файл и разбивать его на три массива, в процессе обрезки всех лишних пробелов и преобразования каждого элемента в целые числа.
По какой-то причине я не могу найти простой способ сделать это в C ++. Единственный успех, который у меня был, - это ввод каждой строки в массив, а затем регулярное выражение всех пробелов и последующее разбиение. Весь этот процесс занял у меня 20-30 строк кода, и мне было трудно изменить, скажем, другой разделитель (например, пробел) и т. Д.
Это Python-эквивалент того, что я хотел бы иметь в C ++:
f = open('input_hard.dat')
lines = f.readlines()
f.close()
#declarations
inint, inbase, outbase = [], [], []
#input parsing
for line in lines:
bits = string.split(line, ',')
inint.append(int(bits[0].strip()))
inbase.append(int(bits[1].strip()))
outbase.append(int(bits[2].strip()))
Простота использования этого в python - одна из причин, по которой я перешел к нему в первую очередь. Однако сейчас мне нужно сделать это на C ++, и я не хотел бы использовать мой уродливый 20-30-строчный код.
Любая помощь будет оценена, спасибо!