ファイル書き込み時の改行 – プログラミング – Home

ファイル書き込み時の改行
 
通知
すべてクリア

ファイル書き込み時の改行


あかね
 あかね
(@あかね)
ゲスト
結合: 23年前
投稿: 1
Topic starter  

こんにちわ。

WIN2000でVC6.0のMFCを使っています。

CFileを使ってtxtファイルに書き込んでいるのですが、
書き込んだ後、改行をして次の入力は2行目から書き込みと
したいのですが、改行コードの組み込み方がわからないので
わかる方いたら返事をお願いします。

以下のようにコードを組むとファイルに書き込んだとき、
文字化けした文字が出て改行はされるのですが、次の
書き込みは1行目の次の桁からになります。

CString data;

m_edit.GetWindowText(data);
data=data+'\n';
CFile test(_T(\\smpl.txt),CFile::modeWrite);
test.Seek(0,CFile::begin);
test.Write(data,6);
test.Close();


引用解決済
トピックタグ
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
 

思ったのですが、テキストを書き込みたいのですよね。
テキストなら、CFileより、CStdioFileを使ったほうがよいのでは?
それで、Writeが、WriteStringに変えれば、動くような。


返信引用
TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
 

改行コードで検索してみましょう。
意味を理解したほうがいいと思うので・・・。
あえて答えは書きません。


返信引用
toru
 toru
(@toru)
ゲスト
結合: 24年前
投稿: 48
 

こんなんどうですか?

FILE* fp = fopen(ファイル名,a+);
fprintf(fp,%s\n,書きこむ文字列);
fclose(fp);


返信引用
TAKA
 TAKA
(@TAKA)
ゲスト
結合: 23年前
投稿: 117
 

ここだけみると認識を間違う人がいると思うのでさらに補足です。

OS 改行形式 漢字コード 記述
UNIX LF JIS, EUC, (ShiftJIS) \n
Windows CR+LF ShiftJIS \r\n
Macintosh CR ShiftJIS \r

テキストファイルの改行コードは上記になっていて、
エディタによって他機種の改行コードを認識するものとしないものがあります。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました