引数に、ファイルパスOutFileName
と数number
を指定して、
その数の分ファイルを「ファイルパス_xxx」という名前で作るというプログラムを作りたいのですが、
sprintfでファイル名を作る際、
SaveFileName = sprintf("%s_0%2i", OutFileName, index)
のところで
intからchar*への無効な変換です
とエラーが出ます。
どこが悪いのでしょうか。
お詳しい方、アドバイスいただければ幸いです。
C++
1#include <stdio.h> 2#include <stdlib.h> 3 4int main(int argc, char** argv) 5{ 6 7 FILE *fp; 8 9 char *OutFileName; 10 char *SaveFileName; 11 int number; 12 int index = 0; 13 14 OutFileName = argv[1]; 15 printf("%s\n", OutFileName); 16 number = atoi(argv[2]); 17 18 19 for (index = 0; index < number; index++) 20 { 21 SaveFileName = sprintf("%s_0%2i", OutFileName, index); 22 fp = fopen(SaveFileName, "w"); 23 for (int i = 0; i < 5; i++) fprintf(fp, "%i\t%i\n", i, i+i); // write file 24 printf("\n"); 25 fclose(fp); 26 } 27 return 0; 28}
sprintf()のマニュアルを読んだり、「sprintf 使い方」「sprintf サンプルコード」などでウェブ検索してみましたか?

回答2件
あなたの回答
tips
プレビュー