質問編集履歴
2
解決及び補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -136,4 +136,46 @@
|
|
136
136
|
[情報]
|
137
137
|
言語: C++
|
138
138
|
コンパイラ: MinGW
|
139
|
-
Qt: Qt 5.6 (LGPL)
|
139
|
+
Qt: Qt 5.6 (LGPL)
|
140
|
+
|
141
|
+
---
|
142
|
+
[追記及び解決したことを提示]
|
143
|
+
|
144
|
+
解決しました。Chironianさんの回答が解決への糸口になったのでChironianさんをBAとするためにここに
|
145
|
+
解決した方法を書いておきます。( 似たような問題に直面した方のために。 )
|
146
|
+
|
147
|
+
私の解決方法は、
|
148
|
+
|
149
|
+
C++由来のstd::ofstreamをコンポジションしてクラス化する。
|
150
|
+
そのクラスは引数としての文字列はQStringで受ける。
|
151
|
+
メンバ関数やコンストラクタ内で QString -> char* に変換する処理 ( QString -> std::wstring -> std::string -> char* )
|
152
|
+
をして std::ofstream::operator<< に渡す。
|
153
|
+
|
154
|
+
|
155
|
+
例:
|
156
|
+
|
157
|
+
```C++
|
158
|
+
// MyLib::toString() は QString -> std::wstring -> std::string と変換する関数だとする。
|
159
|
+
namespace IoFile{
|
160
|
+
class FileWriter{
|
161
|
+
public:
|
162
|
+
FileWriter( const QString &filepath ){
|
163
|
+
ofs.open( MyLib::toString( filepath.toStdWString() ).c_str() );
|
164
|
+
}
|
165
|
+
|
166
|
+
~FileWriter(){ ofs.close(); }
|
167
|
+
|
168
|
+
void write( const QString &text = QString("\n") ){
|
169
|
+
if( text.compare( "" ) == 0 ){ ofs << endl; return; }
|
170
|
+
ofs << MyLib::toString( text.toStdWString() ).c_str();
|
171
|
+
}
|
172
|
+
protected:
|
173
|
+
std::ofstream ofs;
|
174
|
+
};
|
175
|
+
}
|
176
|
+
|
177
|
+
|
178
|
+
```
|
179
|
+
|
180
|
+
C++のSTL使うぐらいならQt側のを使え...って言われるぐらいだから、普通にやり方があるんじゃないかなぁ...と思ったので。
|
181
|
+
お騒がせしてすみません。
|
1
要約をBoldにした
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
趣味でC++やっています。Qtについてですが、
|
2
|
-
テキストファイルの書き込みに関して質問します。
|
2
|
+
テキストファイルの書き込みに関して質問します。( 改行については一応解決したっぽいのでいいですが、後述の「なぜか別のソフトで認識できない」問題が残っています。 それについてです。 )
|
3
3
|
|
4
4
|
(※ 長文になります)
|
5
5
|
|
@@ -129,7 +129,7 @@
|
|
129
129
|
また問題になりそうなので、ここで解決したいなぁと。
|
130
130
|
|
131
131
|
|
132
|
-
要約すれば、「自ソフトだけじゃなくて他のソフトでもテキストファイルとして認識し、使用することができるように生成する方法」です。
|
132
|
+
要約すれば、「**自ソフトだけじゃなくて他のソフトでもテキストファイルとして認識し、使用することができるように生成する方法**」です。
|
133
133
|
|
134
134
|
今、外出先なのですぐには試せませんが...
|
135
135
|
|