回答編集履歴

1

コードの追加

2021/03/27 15:13

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -27,3 +27,65 @@
27
27
  filename[0] は char なので 0x22、すなわち '"' になります。
28
28
 
29
29
  fillename は、"\"bc.txt" になりました。
30
+
31
+
32
+
33
+ **追記**
34
+
35
+ やりたいことはこういうことでしょう。
36
+
37
+ ```C++
38
+
39
+ #include <iostream>
40
+
41
+ #include <fstream> // ifstream, ofstream
42
+
43
+ #include <string> // to_string
44
+
45
+ using namespace std;
46
+
47
+
48
+
49
+ void createFile(const string& filename)
50
+
51
+ {
52
+
53
+ string fname = filename;
54
+
55
+ int i;
56
+
57
+ for (i = 1; i < 1000; i++) {
58
+
59
+ ifstream fileCheck(fname);
60
+
61
+ if (fileCheck.fail()) break;
62
+
63
+ fname = filename + '_' + to_string(i);
64
+
65
+ }
66
+
67
+ if (i == 1000) return;
68
+
69
+
70
+
71
+ ofstream file(fname);
72
+
73
+ file << "abcdefg\n";
74
+
75
+ }
76
+
77
+
78
+
79
+ int main()
80
+
81
+ {
82
+
83
+ createFile("abc");
84
+
85
+ }
86
+
87
+ ```
88
+
89
+ 最初に実行すると、abc ができて、次に実行すると abc_1 ができます。
90
+
91
+ ファイルは 1000個までしかできないように制限しています。