回答受付終了まであと1日

初学者です。C++で 1,10 2,12 3,14 ︙ のようなテキストファイルを1列ずつ読み込むことはできないのでしょうか?csvならできるとかでしょうか?

回答(5件)

したいことが、曖昧ですね。 プログラムの仕様をもっと詳しく載せないと何とも言えないですね。 配列に格納って、どんな配列なのか。 2次元配列なのか。 int型1次元配列に順次詰め込むだけでいいのか。

この回答はいかがでしたか? リアクションしてみよう

1,10改行2,12改行3,14改行… の順にしか読み込めません。 1列ずつ読み込みたかったら、1行ずつ読んで1列目だけを取り出して、また最初から1行ずつ読んで2列目だけを取り出して、次に3列目だけ・・・と繰り返すしかありません。 もちろん、1回で、1行ずつ読んで全部の行・列を2次元配列に格納することもできます。

1行読み込んで必要な箇所だけ保存すればいいだけなんでは? 例えば std::ifstream file("example.csv"); std::string line; if (file.is_open()) { while (getline(file, line)) { std::stringstream ss(line); std::string value; while (getline(ss, value, ';')) { // セミコロンで分割 std::cout << value << std::endl; } } file.close(); } else { std::cout << "ファイルを開けませんでした。" << std::endl; } こうしたらCSVの列分割できますよね?後は保存するなり好きなようにしたらいいのでわ?

この返信は削除されました

プログラムを書いて、試しましょう。 おんぶにだっこでは、

出来ます。 CSVもテキストです。 なんで出来ないと判断されたのかが全く分かりません。 ご自身で書かれている「テキストファイルの1列目だけを配列に格納、2列目だけを格納」をプログラムとして書けば良いだけでは?

ネットで調べたときに1行ずつ読み込むやり方は見つけたのですが、1列ずつ読み込むやり方は見つけられなかったのでできないかと思いました。 基礎の基礎もままならない状態で色々しなければいけない状況で調べながらやっているくらいの初学者です。 もしよろしければ何を使えばいいか教えていただきたいです。