fgetsにてテキストファイルを読込と0がデータの間に入る – プログラミング – Home

fgetsにてテキストファイルを読込と...
 
通知
すべてクリア

[解決済] fgetsにてテキストファイルを読込と0がデータの間に入る


たくみ
 たくみ
(@たくみ)
ゲスト
結合: 17年前
投稿: 4
Topic starter  

VC++で社内業務メンテンナンス担当となりました。
初心者のたくみです。
<結果>
下記コーディングでfgets実行すると
inputdata[0]=-1,[1]=-2,[2]=A,[3]=0,[4]=A,[5]=0,[6]=A.....[15]=A,
[16]=0
となります。
<ABC.TXTの内容>
AAAAAAAAAAAAAAAA
<コーディング>
FILE *fp = NULL;
char FILEPATH[256];
char inputdata[17] =0;
  strcat(FILEPATH, ABC.TXT);
fp = fopen(FILEPATH, r);
fgets(inputdata,17,fp);
ABC,TXTの内容は、間違いなく改行もされているのですが
何故、こうなるのか解りません。
宜しくお願い申し上げます。


引用未解決
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

読み取り結果が FF FE 41 00 41 00 となっているようだな。
これはつまり BOM つき UTF16LE Unicode Text っつーことだ。
http://www.atmarkit.co.jp/aig/01xml/bom.html

動作も結果もまったくもって正常。

んで、どうなって欲しいわけ?


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

テキストファイルとは何か、ということがわかってなさげ。

テキストファイルとは、文字をエンコードした文字コードを記録したファイルです。
エンコード方法には複数(Shift-JIS とか EUC とか Unicode とか)あり、どの方法を
使ったかによって、同じ 'A' という文字でも、どんな文字コードになるかは変わりま
す。
メモ帳で見た時に AAA と書かれていたからといって、即、0x41 0x41 0x41 だと決め
つけることはできません。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

一応類似スレです。

VS.NET2003 C++でUnicodeファイルの読込み
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1660768&SiteID=7


返信引用
たくみ
 たくみ
(@たくみ)
ゲスト
結合: 17年前
投稿: 4
Topic starter  

tetrapodさん、ご回答ありがとうございました。
私がやりたかったことは、
<ABC.TXTの内容>
AAAAAAAAAAAAAAAAをそのまま読込むことです。
BOMつきだったのでこうなったのですね。
タグ付テキストにして、実行したら正常に読めました。m(_ _)m
感謝です。(^.^)/


返信引用
たくみ
 たくみ
(@たくみ)
ゲスト
結合: 17年前
投稿: 4
Topic starter  

シャノン さん、Blueさん、ご回答ありがとうございました。
テキストファイルにもいろいろあるのですね。
これを参考に勉強させて頂きます。感謝!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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