
【至急:C言語】cppファイルやhファイルなどテキストファイルのステップ数を求めるプログラムに関して。
ファイルパスを標準入力させ、fopen()で開きます。その場合、選択されたファイルがテキストファイルでない場合の例外処理はどうすればできるでしょうか?テキストファイルといっても、冒頭に挙げたcpp, hのほかにtxt, ini, datなどさまざまです。fgets()などの関数を使ってステップを数えられるファイルを正常処理の対象とするプログラムを考えています。(できるだけ短い時間で多くの回答をいただきたく、Yahoo知恵袋でも同様の質問を投稿させていただいております)
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
(1)
「cppファイルやhファイルなどテキストファイルのステップ数を求める」という仕様にあいまいさがあると思います。
テキストファイルは、さらに、
Shift-JIS
UTF8
UTF16
など、文字コードの種類によって分類することができます。
まず、どんな種類のテキストファイルに対応しなければならないか、を決めてはどうでしょう。
それ以外のファイルは、テキストファイルであれ、バイナリファイルであれ、例外の対象になります。
(2)
ほんとうに例外処理をする必要がありますか?
仕様の条件がいろいろあると思いますが、
「例外処理はしない」というのも選択肢になると思います。
No.6
- 回答日時:
とりあえず、参考URLに方法がいくつか載っています。
しかし、この課題そのものがいかがなものかと思います。
使うことを目的とするなら かぞえチャオ あたりを使えばよいです。
研修目的だとするなら、バイナリ等の判定は、課題として不要のように
思います。
まぁ、UNIX環境(WindowsならCygwin等)で、fileコマンドを呼びだして判定することが可能かもしれま
せんが、そういう回答でいいんでしょうか?
参考URL:http://d.hatena.ne.jp/oooooooo/20050113/p5
No.5
- 回答日時:
とりあえず単純にやるなら、改行とタブ以外のコントロールコードを含まないファイルを対象にすればいいかと。
それで漏らしが出るようだったら、そのつど処理を追加していけばいいと思います。
No.4
- 回答日時:
そもそもファイル種別というのは「扱うプログラム側の解釈/都合」に過ぎませんから、中身を見ずして「実際にそのファイルがテキストファイルとして扱えるか否か」を判断するのは不可能です。
No.1
- 回答日時:
バイナリかテキストファイルの区別よりも、真面目に処理するなら、自力か yacc, lex (bison, flex) などで構文解析して、C や C++ と思われるファイルかチェックするしかないと思う。
当然、コメントや空行などは除外しなきゃならないでしょうし、ただの { や } だけの行もどうなのって話になりますから。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- その他(プログラミング・Web制作) 複数のテキストファイルの結合方法 2 2022/05/14 23:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コーディングについて。
-
ファイル操作について。
-
WORDのVBAで差し込み印刷時、デ...
-
Microsoftの異常?リネームが出...
-
ATTファイルってどうやって開け...
-
vimをアウトラインエディタのよ...
-
ASP.NET Web上のテキストファ...
-
Excel VBAが徐々に遅くなる
-
VBscriptでWebサイトから取得し...
-
テキストファイルの一部分を抽...
-
ファイル変換
-
RGBデータからBMP画像へ
-
VB(VBA)で、バイナリデータを使...
-
VBSでテキストファイルの2行目...
-
バイナリファイルの区別
-
Appletにて入力文字のファイル...
-
accessでクエリをExcelにエクス...
-
loop が止まらなくて困ってます。
-
CSVファイルの時刻の形式について
-
VBA 参照先で選んだファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
テキストファイル固定長データ...
-
VB(VBA)で、バイナリデータを使...
-
バイナリデータの中からMidのよ...
-
WORDのVBAで差し込み印刷時、デ...
-
Excel VBAが徐々に遅くなる
-
既存のテキストファイルを開く方法
-
C言語のソースからコメントを抜...
-
VBSでテキストファイルの2行目...
-
エクセルVBAでメールの自動作成...
-
wav ファイルから音声を数値デ...
-
ファイル変換
-
テキストファイル(英語&日本...
-
[VB.NET] 処理の高速化を行いた...
-
テキストファイルをSQLServerデ...
-
VBA。開いているテキストファイ...
-
テキストファイルの特定行の削...
-
VBscriptでWebサイトから取得し...
-
テキストファイルを読んで、Exc...
おすすめ情報