mam pliku z danymi zawartymi w następujący sposób:C++ plik IO & rozszczepienie przez separator
0, 2, 10
10, 8, 10
10, 10, 10
10, 16, 10
15, 10, 16
17, 10, 16
że chce móc wprowadzić plików i podzielone na trzy macierze w procesie obcinania wszystkie nadmiar miejsc i konwersja każdego elementu na liczby całkowite.
Z jakiegoś powodu nie mogę znaleźć prostego sposobu na zrobienie tego w języku C++. Jedyny sukces, jaki miałem, to wprowadzenie każdej linii do tablicy, a następnie wygaszenie wszystkich spacji, a następnie ich podział. Cały ten proces zajął mi dobre 20-30 linii kodu i jest to trudny do zmodyfikowania, na przykład kolejny separator (np. Przestrzeń), itp.
To jest odpowiednik pytona, co chciałbym mieć w 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()))
Łatwość użycia tego w pythonie jest jednym z powodów, dla których wprowadziłem się do niego w pierwszej kolejności. Jednak wymagam tego w C++ teraz i nie chciałbym używać mojego brzydkiego kodu linii 20-30.
Każda pomoc będzie doceniona, dzięki!
Dobra robota. Ludzie zapominają o dopasowaniu wzorców scanf. Najprostsze rozwiązanie jest najlepsze. – jbruni