次のようにリストされたデータを含むファイルがあります。
0, 2, 10
10, 8, 10
10, 10, 10
10, 16, 10
15, 10, 16
17, 10, 16
ファイルを入力して 3 つの配列に分割し、余分なスペースをすべて削除して各要素を整数に変換できるようにしたいと考えています。
何らかの理由で、C++ でこれを行う簡単な方法が見つかりません。私が経験した唯一の成功は、各行を配列に入力し、すべてのスペースを正規表現してから分割することです。このプロセス全体で20〜30行のコードが必要で、別のセパレーター(スペースなど)などを変更するのは面倒でした。
これは、C++ で使用したいものと同等の Python です。
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 で行うことの使いやすさは、そもそも Python に移行した理由の 1 つです。ただし、今は C++ でこれを行う必要があり、20 ~ 30 行の醜いコードを使用する必要はありません。
どんな助けでも大歓迎です、ありがとう!