下記のようなcsvファイルを間引くプログラムを改変したいと思っています。
環境はVS2008 C++ コンソールアプリケーションです。
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp,*fp1;
int i, j, retu, ch, cnt=0;
char data[100];
char a=0;
fp=fopen("data.csv","r");
fp1=fopen("kekka.csv","w");
cnt=0;
retu=0;
while (1){
ch=fgetc(fp);
if (ch=='\n') break;
}
while((ch=fgetc(fp))!=EOF){
data[retu]=ch;
retu++;
if (ch=='\n'){
cnt++;
if (cnt>=10){
cnt=0;
for(i=0;i<retu;i++){
printf("%c",data[i]);
fputc(data[i], fp1);
}
}
retu=0;
}
}
return 0;
}
ただ毎回csvファイルの名前をdata.csvに書き換え、さらにkekka.csvを別名にして保存しなければいけないためとても手間です。
そこでその部分を実行時にscanfなどを用いて変更したいと思ったのですがうまくいきません。
fopenでファイル名を実行時(ビルド時)に変更するにはどうすればよいのでしょうか。
ご教授お願いします。
No.1ベストアンサー
- 回答日時:
>そこでその部分を実行時にscanfなどを用いて変更したいと思ったのですがうまくいきません。
どのように記述して、どううまくいきませんでしたか?
# できるかできないか?という質問であれば、できるハズですので…書き方が悪いのでしょう。
>fopenでファイル名を実行時(ビルド時)に変更するにはどうすればよいのでしょうか。
コンソールアプリですから、たいていはコマンドラインスイッチで受け取るようにします。
copy コピー元ファイル名 コピー先ファイル名
という指定の仕方はみたことありますよね?
int _tmain(int argc, _TCHAR* argv[])
のargv[1]やargv[2]に入ってきます。
またコマンドラインで指定したオプションの個数がargcに入ってきます。
argc、argvを使用した例は簡単に見つかるでしょう。
http://www.geocities.co.jp/SiliconValley-Bay/743 …
http://www.geocities.jp/ky_webid/c/045.html
http://ratan.dyndns.info/MicrosoftVisualC++/file …
http://wisdom.sakura.ne.jp/programming/c/c32.html
などなど。
# 想定する数より少なかったとき…などについて考慮しておくべきでしょう。
# エラー処理サボると吹っ飛ぶかも知れません。
ご回答ありがとうございます。
>どのように記述して、どううまくいきませんでしたか?
最初以下のようにして無理でした。
char a=0;
scanf("%s",&a);
fp=fopen(a,"r");
Wr5さんの提示してくれたURLを見たところ配列表示で書く必要があるみたいでしたので以下のように書き換えたところ無事プログラムが走りました。
char a[100]={0};
scanf("%s",&a);
fp=fopen(a,"r");
ちなみに
>コンソールアプリですから、たいていはコマンドラインスイッチで受け取るようにします。
ここから後の文章は正直何をいっているのか理解できませんでしたorz
まだまだ勉強不足のようです。
ご教授ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# 現在プログラムを作っているのですが、実行したときに写真のように結果が表示されるのですが、これを CH 2 2023/01/18 16:22
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAについて とある...
-
FTPコマンド mgetでとまってし...
-
Python CSVファイルについて
-
csv形式からbmpを作成
-
複数のcsvファイルを統合、でも...
-
エクセル 指定範囲をCSV出力
-
アクセスと同フォルダのCSVファ...
-
バッチ処理でcsvファイルの文字...
-
csvファイルをlinuxコマンドで...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
バッチでテキストファイルから...
-
大量のフォルダからひとつのフ...
-
バッチ処理でファイルの中身を...
-
バッチファイルでサーバーのフ...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプト標準出力と...
-
バッチ終了時にDOS窓を閉じるコ...
-
VBAでワークシートを引数として...
-
拡張子を元に戻す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのVBAについて とある...
-
FTPコマンド mgetでとまってし...
-
Python CSVファイルについて
-
アクセスと同フォルダのCSVファ...
-
複数のcsvファイルを統合、でも...
-
エクセル 指定範囲をCSV出力
-
バッチ処理でcsvファイルの文字...
-
MAC フォルダ内のPDF件数とペー...
-
Excelの帳票形式をアクセスに取...
-
コマンドによるzip圧縮
-
エクセルマクロ、複数のCSVファ...
-
複数エクセルファイルの合成
-
【Rコマンダー】データインポー...
-
yahooカレンダーのデータをICS...
-
csv形式からbmpを作成
-
複数のCSVファイルを読み込んで...
-
Dosから既存フォーマットのエク...
-
EXCEL マクロが正常に動かなく...
-
XLS・CSVファイルのマージソフ...
-
エクセルでCSVファイルを一...
おすすめ情報