- 締切済み
数値データの読み出しについて
hanabutakoの回答
- hanabutako
- ベストアンサー率54% (492/895)
眠いので急ごしらえですが、例えばこんなのとか? #include <string.h> #include <stdio.h> int main(void) { char **ap, *token[10], *input_string; char line[1024]; int value[1024], num_value; int i; for (num_value = 0; fgets(line, sizeof(line), stdin) != NULL;) { input_string = line; for (ap = token; (*ap = strsep(&input_string, " \t")) != NULL;) if (**ap != '\0') if (++ap >= &token[10]) break; value[num_value] = strtol(token[1], NULL, 0); if (++num_value > (sizeof(value) / sizeof(value[0]))) break; } for (i = 0; i < num_value; i++) { printf("%d\n", value[i]); } return 0; }
関連するQ&A
- CStdioFile での数値データの読みこみ
VC++ で MFC アプリケーションを作っています。 数字の入ったファイル,たとえば以下のような suuji.dat です。 int 型の数字が 5 つ入っています (実際のプログラムで私が使っているのは double 型ですが…) 。 /** * suuji.dat の始まり */ 1 2 3 4 5 /** * suuji.dat の終わり */ これを CStdioFile で読み込むとき,以下のような方法をとっています。 int num; CString temp; CStdioFile file; while ( file.ReadString(temp) ) { num = atof(temp); ここで num を vector<int> に収納する } file.Close(); 上の方法は,流れとして, ○とりあえず CString 型として読みこみ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ○ atof() 関数によって数値データとして使う  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ という方法を使っていますが,すごく遠回りなことをしている気分になります。 まだ “Hello, world!” を動かして 4 ヶ月たらずのビギナーです。 プログラミングの作法とかは,ぜんぜん分かっていません。 もし CStrioFile で数値を読み込む,もっとシンプルな方法があればご教授いただけると幸いです。
- ベストアンサー
- C・C++・C#
- 2つファイルを開いてデータを入力する
ifstream fin("ファイル名")を使って、 2つのファイルからデータを抽出するには どうすればよいでしょうか。 たとえば、以下のようなファイルがあります。 ファイル名:1.dat ------ 1 2.3 2 3.2 3 4.3 4 5.0 ファイル名:2.dat ------ 1 50.6 2 56.2 3 66.3 4 70.2 1.datの1、2列目のデータと2.datの2列目のデータを抽出して ファイル名:3.dat ------ 1 2.3 50.6 2 3.2 56.2 3 4.3 66.3 4 5.0 70.2 とするには、どうすればよいでしょうか。 どなたか教えていただけると大変助かります。
- ベストアンサー
- C・C++・C#
- 【fortran77】空行を含む数値データの読み込み
fortran77でプログラムを書いています。 いま以下のような空行を含むデータファイルを読み込んで、プログラム中で計算し、その結果を別のファイルに書き出すものを作りたいと考えています。 1.0 1.1 1.2 1.3 1.0 1.4 1.5 1.6 2.0 2.1 2.2 2.3 2.0 2.4 2.5 2.6 3.0 3.1 3.2 3.3 3.0 3.4 3.5 3.6 *数字はあくまでも例です。 例えば、1列目が2.0で始まる箇所のみ取り出したいのですが、どうもデータの読み込みのところでエラーが起こっているようです。 open(1,file="data.dat") do i = 1,8 read(1,*) (a(i,j),j=1,4) enddo 空行や空白の読み飛ばしを行う方法を自分なりに調べてみて、open文にblankを指定するなどの方法があることはわかったんですが、いまいち使いかたがわからず立ち止まってしまいました。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- pythonでテキストの処理をしたいと考えています。
pythonでテキストの処理をしたいと考えています。 複数のデータファイルがあって、どのファイルもデータ1列目、2列目はある決まった並びになっていて3列目だけランダムな値が入ります。 そこでファイルを読み込んで1列目、2列目は一度読み込んだものを別なファイルに書き出し、 それぞれのファイルの3行目を、その別ファイルに次々と加えていく様なプログラムを組みたいのですが、 どういう風に記述したら良いのか思案しています。 たとえば、一つ目のファイル(1.dat) 1 1 5.1 2 1 6.2 3 1 5.5 1 2 7.6 2 2 2.4 2つ目のファイル(2.dat) 1 1 2.5 2 1 3.2 3 1 4.6 1 2 8.0 2 2 1.1 3つ目のファイル(3.dat) 1 1 3.8 2 1 9.6 3 1 1.2 1 2 3.0 2 2 5.5 とあるときに、result.datというファイルに 1 1 5.1 2.5 3.8 2 1 6.2 3.2 9.6 3 1 5.5 4.6 1.2 1 2 7.6 8.0 3.0 2 2 2.4 1.1 5.5 という風に列をどんどんデータを追加していけるようなプログラムです。 アドバイスをどうかよろしくお願い致します。
- 締切済み
- その他(プログラミング・開発)
- エクセルにて「間違った数値→正しい数値」を一気に置換したい
あるエクセルデータの数値を一気に置換したいのですが、そのようなことはエクセルで可能なのでしょうか? ファイルデータが二つありまして、 ・間違った数値が載っているデータ ・間違った数値と正しい数値が順番に載っているデータ の二つがあります。 前者のデータの数値を、正しい状態に変えたいのですが、あまりに数が膨大で困っています。 もう一つの方ですが、A列に現在の間違った数値、B列に正しい数値が入っております。各々の行を見れば「Before→After」が分かるというわけです。 一気に置換する方法が分かる方が居ましたら、是非教えて下さい。宜しく御願いします。
- ベストアンサー
- オフィス系ソフト
- vodafone データの読み出しについて
V601Tの中の、ポケットデータベースに保存したデータを、SDメモリカード(32MB)を介してPCに移したいと思います。実際やってみると、PC上ではポケットデータベースに登録したファイルを開けません。何かプログラムが必要だと思うのですが、これとあわせて、Vファイル(VMessageなど)を開くためのプログラムについても教えて下さい★
- ベストアンサー
- その他(スマートフォン・携帯・タブレット)
- VC++で数値計算をしたいのですが,datファイルの作り方がよく分かりません。
VC++を使って数値計算をしていますが,肝心のdatファイルの作り方がよく分かりません。 計算結果をMS-DOS上に出すことはできるのですが,VC++で作った場合,プログラムの実行後にMS-DOSへコマンドを打ち込むことができないので,うまくいきません。 どなたか解決策をお教えいただけないでしょうか?
- ベストアンサー
- C・C++・C#
- データファイルをプロットする(gnuplot)
gnuplotを使ってデータファイルをプロットしたいのですがうまくいきません。 gnuplot初心者です。よろしくお願いします。 plot "gtest.dat" とコマンドを打つと、 warning: Skipping unreadable file "gtest.dat" No data in plot となってグラフが表示されません。 ちなみにgtest.datの中身は、 1 20 2 60 3 80 4 60 5 100 です。 原因として自分で怪しいと思っているのは、 1.gtest.datの置いてある場所 Cドライブの下の適当なフォルダにおいて実行したのですが、これがまずいのでしょうか。 置く場所は決まっているのでしょうか。 2.DATファイルの作り方 gnuplotの使い方の説明のサイトではいつもファイルのプロットの際、DATファイルが使われていたので 自分もそれに合わせようとそたのですが作り方に自信がありません。 メモ帳で作成し保存の際、拡張子を.datに変更しました。 これでいいのっでしょうか。 長くなりましたが、よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 入力データのうち最も下にあるデータの行番号を得る関数
データを縦方向へ下へ入力するのですが、 入力データのうち最も下にあるデータの行番号を得る関数を教えてください。(データは文字列です) 途中に空白セルもあります。 ちなみにデータが数値だと下記でよいのですが、 文字列の場合はどうすればよいのでしょうか。 また、数値と文字列が混ざった場合も教えてください。 MATCH(MAX(範囲)+1,範囲,1)
- ベストアンサー
- オフィス系ソフト
- Excel 数値の表示
初歩的な質問ですが、Excelで数値を入力する際 16桁目から「0」で表示されます。 文字列として扱いたくない場合はどうしたらよいでしょうか? よろしくお願いします
- 締切済み
- Windows 95・98