C言語でCSVデータを読み込んで加工して保存したい。
CSVデータの中身は
1 -0.001
2 -0.11
3 -0.22
4 -0.625
5 -0.55
という式を、
一行目+0行目=答え(1)
答え(1)+2行目=答え(2)
答え(2)+3行目=答え(3)という処理を行い、
1 答え(1)
2 答え(2)
3 答え(3)
4 答え(4)
5 答え(5)
とCSVファイルに加工して保存するプログラムを作りたいのですが、どのようなプログラムを追加すれば良いのか分かりません。恐らくCSV内部データを配列データに保存して、配列データをfor分にて計算していけばよいのでしょうが、分かりません。
プログラム例を記載していただけないでしょうか。
以下CSVファイルを読み込んで表示するプログラムを示します。下記プログラムに加筆をお願いいたします。
#include <stdio.h>
int main(void)
{
FILE *fp;
char *fname = "C:\\Users\\XXX\\Desktop\\aaa.csv";
char s[100];
int ret, n1, n2;
float f1, f2;
fp = fopen( fname, "r" );
if( fp == NULL ){
printf( "%sファイルが開けません¥n", fname );
return -1;
}
while( ( ret = fscanf( fp, "%[^,],%d,%d,%f,%f", s, &n1, &n2, &f1, &f2 ) ) != EOF ){
printf( "%s %d %d %f %f", s, n1, n2, f1, f2 );
}
fclose( fp );
return 0;
}
No.1ベストアンサー
- 回答日時:
ファイルから読み込んだ文字列情報を
文字列を区切り文字で分解する関数、strtok関数で分解しましょう。
(#include <string.h>をお忘れなく。)
分解した「文字列の数字」を、atof関数で「少数の数値」に変え、計算しましょう。
計算を終えた数値を sprintf関数で文字列として繋ぎ合わせましょう。
(この時文末に“改行コード”を入れ忘れずに。\r\nなど。)
繋ぎ合わせた文字列を fputs関数でファイルへ書き出しましょう。
「実現したい機能」と「C言語」の2ワードで検索されると
ヒントになる関数やサンプルコードに辿りつけます。
関数の動作を確認しながらご自分で実装していかないと、
全てがブラックボックスになり、
CSVの行内文字数が char s[100]; を超えて誤作動を起こしたりと
些細な想定漏れに対する修正ができず、
せっかく書いたプログラムもあっけなく使い物にならなくなりますので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
この問題の答えなのですが、関...
-
多項式の展開の計算問題で答え...
-
因数分解で答えが二つ出てきます。
-
公約数って負の数ダメなんです...
-
エクセルの自動計算で0パーセン...
-
逆関数 y=x^2+1 の答えはf-1(x)...
-
数列の問題を教えていただきた...
-
a^2+ab+2b-4
-
中一の数学(文字と式)の答え...
-
因数分解!!
-
数学中2 式の計算の文字の順番...
-
数学:()とマイナス記号の扱い(...
-
たすきがけと解の公式の見分け方
-
負の整数における小数点以下の...
-
ルートの中が、(-6)の2乗の...
-
因数分解 アルファベット順に整理
-
平方根
-
平方根の計算で・・・
-
千円未満切り上げとは・・・
-
小さな整数の比
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
One Week トライアル 数学
-
公約数って負の数ダメなんです...
-
多項式の展開の計算問題で答え...
-
負の整数における小数点以下の...
-
4を4回使って0~10の数字を作る。
-
平方根
-
エクセルの自動計算で0パーセン...
-
因数分解で答えが二つ出てきます。
-
中学3年数学の問題です。 96に...
-
ルートの中が、(-6)の2乗の...
-
数学中2 式の計算の文字の順番...
-
15の素因数分解がわかりませ...
-
数独の解答は、一つだけではない?
-
千円未満切り上げとは・・・
-
数1 因数分解の問題です Q.【ab...
-
どこまで因数分解・展開 すれば...
-
答えが24となるように式を作る...
-
他の回答をなぞるだけ
-
たすきがけと解の公式の見分け方
-
前日比計算について
おすすめ情報