
fgetsでcsvファイルを読み込めなくなる!?
Cを使って、csvをfgetsで読み込むプログラムを作っています。
実際に製作し、csvファイルを(A.csvとします)読み込むことができました。
しかしデスクトップ上で
「新規作成」
→「txtファイルを作成」
→「拡張子を.csvにし、csvファイル(B.csv)を作成」
→「Aの中身をコピーし、Bにペースト」
を行い、B.csvを読み込もうとすると、
読み込むことができません(正確には文字化けした、単語が数文字表示される)
これは何が原因なのでしょうか?
ご教授お願いいたします。
No.3ベストアンサー
- 回答日時:
『fgets()で読み込む』ということなので、プログラムで使用している文字コードはShiftJISでしょう。
csvファイルを何を使って編集しているかわかりませんが、
Windows標準のメモ帳で編集してみてはどうですか?
「ファイル」「名前を付けて保存」を選択すると表示されるダイアログボックスに、
[文字コード]を選択する欄が表示されます。
ここで「ANSI」を選択(XPの場合)して保存すれば、ShiftJISで保存されます。
No.2
- 回答日時:
文字コードがUTFなのでBOMと呼ばれるUTFの文字コードをしめすコードがファイルの先頭に記述されているのです。
UTFコードに対応したテキストエディタならBOMの有無に対応しています。
一度、テキストエディタでファイルを開いて、BOMなしで保存するか、文字コードをシフトJISにして保存してみてください。
ご回答ありがとうございます。
あまりこういうことには詳しくなくて。。
具体的にどうすればよいのでしょうか?
何度も質問して申し訳ありません。
No.1
- 回答日時:
どう文字化けしてるのか分からないので何とも言えませんが、
A.csvとB.csvとでは文字コードが違っているのかと……
例えばB.csvがUTF16で保存されていて、プログラムがANSI文字にしか対応していないと文字化けが起こります。また、ASCII文字はUTF16では上位バイトに00が詰められるので、ANSI系の文字列処理では文字列の終端と見なされてしまいます。fgetsも途中で読み込みが終わります。
回答ありがとうございます。
CSVファイル内には
2行*4000列の数字データがあります。
それを読み込むと
ミマ爍ア
と表示され、プログラムがエラーを起こします。
magicalpassさんのおっしゃることが原因で
あるとするならば、どのような対処をすれば
よいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
エクセルVBA 大容量CSVファイル...
-
csvファイルでの日付設定「yyyy...
-
マクロから出力されるcsvのダブ...
-
VBAでcsvファイルを読み込んで...
-
複数のcsvファイルをExcelに一...
-
バッチでCSVを処理する時、空の...
-
複数のcsvファイルをフォルダご...
-
【エクセル マクロ】読み込ん...
-
CSV出力して、MS/EXCELで開くと...
-
CSVファイルの項目行を削除...
-
エクセル形式のファイルの読み込み
-
csvファイルのデータをCで読み...
-
c#でcsvから指定の1行だけを読...
-
csvファイルのデータの一部を取...
-
複数のCSVファイルのAccessテー...
-
データ解析ソフトRでのファイル...
-
COBOLでCSVをインプットにして...
-
【ExcelVBA】UTF-8の文字コード...
-
【C#】パス名で無効な文字
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ区切りのCSVファイルから...
-
バッチでCSVを処理する時、空の...
-
csvファイルでの日付設定「yyyy...
-
【C#】パス名で無効な文字
-
CSV形式での保存時に”文字列...
-
csvファイル 項目数取得
-
マクロから出力されるcsvのダブ...
-
csvファイルを列数ごとに分割す...
-
VBAでcsvファイルを読み込んで...
-
データ解析ソフトRでのファイル...
-
【エクセルVBA】お願いします。...
-
エクセルVBA 大容量CSVファイル...
-
csvファイルのデータの一部を取...
-
CSVファイル作成
-
CSV出力して、MS/EXCELで開くと...
-
CSVファイルの項目行を削除...
-
エクセル形式のファイルの読み込み
-
複数のcsvファイルをExcelに一...
-
【エクセル マクロ】読み込ん...
-
複数のCSVファイルのAccessテー...
おすすめ情報