前提・実現したいこと
C++にて、ファイルサイズが5000KBになったら、そのファイルをコピーして、コピーしたファイル名を~1.txtのようにリネームしたい。これを10個連番で作成し、元ファイルをコピーして~2.txtで保存、元ファイルの中身をコピーして~3.txtで保存・・・を無限ループで処理したいです。が、うまくいきません。
エラーメッセージもどんなこと書いてあるか調べましたが、意味が分かりませんでした。
なにか簡単にできる方法はありますか?無知で初心者なのでよろしくお願いします。
発生している問題・エラーメッセージ
エラー 13 error LNK2001: 外部シンボル ""int __cdecl pg_sprintf(char *,char const *,...)" (?pg_sprintf@@YAHPEADPEBDZZ)" は未解決です。
該当のソースコード Main()
char buf[100][1024]; char filename[]="test"; char fileext[]="txt"; int i = 0; if (test.Size() >= -5000000) { sprintf(buf[i], "%s%d.%s",filename, i + 1, fileext); } else if (i == 1 && test.Size() >= -5000000) { sprintf(buf[i], "%s%d.%s",filename, i + 2, fileext); } ・ ・ ・
Size()
int CcopyCollect::Size() { //テキストファイルの容量を求める ifstream ifs(F, ios_base::binary); streamsize size = ifs.seekg(0, ios::end).tellg(); ifs.seekg(0, ios::beg); return size; }
補足情報(FW/ツールのバージョンなど)
Visual studio 2012 C++
「…未解決です」について。
「解決する」とか「未解決」はコンパイラ(正しくはリンカ)の用語です。
「Xが未解決」とは
「何処を探してもXなんてないぞ!」
と言ってます。
質問の場合は pg_sprintf() 何処からか探してきて、リンカに「…にあるよ」と教えるか、pg_sprintf()を呼び出している所を削除するか、自分で pg_sprintf() を作るかして下さい。