teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2016/06/28 10:18

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -12,4 +12,39 @@
12
12
  > String1 = L" estimateID"
13
13
  となってしまいます。
14
14
 
15
- String2が実は`L"見積ID\0"`のようになってないでしょうか?
15
+ String2が実は`L"見積ID\0"`のようになってないでしょうか?
16
+
17
+ ---
18
+ 【追記】
19
+ 私が動作検証したソースです。
20
+ ```C++
21
+ #include <iostream>
22
+ #include <string>
23
+
24
+ using namespace std;
25
+
26
+ wstring Replace(wstring String1, wstring String2, wstring String3)
27
+ {
28
+ wstring::size_type Pos(String1.find(String2));
29
+
30
+ while (Pos != std::string::npos)
31
+ {
32
+ String1.replace(Pos, String2.size(), String3);
33
+ Pos = String1.find(String2, Pos + String3.size());
34
+ }
35
+
36
+ return String1;
37
+ }
38
+
39
+ int main(int argc, char* argv[])
40
+ {
41
+ wstring String1 = L" `見積ID` int(11) DEFAULT NULL,\n";
42
+ wstring String2 = L"`見積ID`";
43
+ wstring String3 = L"`estimateID`";
44
+ wstring String4 = Replace(String1, String2, String3);
45
+
46
+ wcout << String4 << endl;
47
+
48
+ return 0;
49
+ }
50
+ ```