ファイルの入出力
C++を勉強しています。ユーザにファイル名を尋ね、そのファイル名の最後に「.backup」を付けた複製を作成するプログラムを実装したいのですが
発生している問題・エラーメッセージ
error: invalid operands of types ‘char*’ and ‘const char [8]’ to binary ‘operator+’ filename = filename + ".backup"; ^
となってしまいます
該当のソースコード
C++
1#include <iostream> 2#include <fstream> 3#include <math.h> 4using namespace std; 5 6int main(){ 7 8 char* filename; 9 cout << "ファイル名を入力してください。バックアップを作成します"; 10 cin >> filename; 11 filename = filename + ".backup"; 12 cout << "ファイル名:" << filename; 13 14 // ファイル書き出し 15 16 ofstream fout(filename); 17 if(!fout){cout << "出力ファイルが開けません"; return 1;} 18 for(int i = 0; i < 5; i++){ 19 fout << i << "\n"; 20 } 21 fout.close(); 22 23 // ファイル読み込み 24 25 ifstream fin(filename); 26 if(!fin){cout << "入力ファイルが開けません"; return 1;} 27 string str; 28 int i; 29 while(!fin.eof()){ 30 fin >> str; 31 cout << "line " << i << ": " << str << "\n"; 32 i++; 33 } 34 fin.close(); 35 return 0; 36} 37 38
試したこと
初めての質問なので分かりづらかったらすみません。
filename = filename + ".backup";
あたりの型が原因かと考え
char* backup = ".backup";
というコードを挿入してから
filename = filename + backup;
としてみましたがダメでした…
原因と解決法を教えていただきたいです。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/26 10:18
2018/12/26 10:26 編集
2018/12/26 10:27
2018/12/26 10:33