①実行ファイルにコマンドライン引数をつけて実行する。
[実行ファイル名] [契約状態] [処理ユーザID] [受注日またはプロジェクトNo.] [契約明細リスト]
②出力は引数で入力した値をファイル名とする。
【[契約明細リストファイル名][処理ユーザID][受注日またはプロジェクトNo].csv】
例)[契約明細リストファイル名][処理ユーザID][日付範囲].csv
⇒契約明細リスト_99999_2021040120210430.csv
③別関数で抽出されたデータをCSVファイルに書き込む
c言語
1 2#include <stdio.h> 3#include <string.h> 4 5int file_output(char *argv[] , Contruct *out, *order_cnt_out) 6{ 7 FILE *fp; 8 9 char file_name[50]; 10 int i = 0; 11 12 strcat(argv[4]_argv[2]_argv[3]); 13 14 fp = fopen(argv[4] , "w"); 15 if(fp == NULL) 16 { 17 return 0; 18 } 19 20 for( i = 0; i<order_cnt_out; i++) 21 { 22 fprintf(fp,"%s\n", *out); 23 } 24 25 return 0; 26} 27
strcatでコマンドライン引数の値を連結させてファイル名を作成したいのですが、例の通り(_)を引数の値ごとにつけないといけないため、詰まっています。
また、CSVファイルに1行ずつ書き込む処理で、カンマ区切りで書き込む方法が思い浮かばないためご教授いただきたいです。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー