【至急: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ランキング
-
ATTファイルってどうやって開け...
-
テキストファイルの一部分を抽...
-
バイナリファイルの区別
-
既存のテキストファイルを開く方法
-
Delphiのreadlnについて
-
テキストファイルの特定行の削...
-
Javaのプロパティファイルの文...
-
UTF-8とASCIIコードにおける互...
-
autorun.inf で Open=**** 行...
-
Excel VBAが徐々に遅くなる
-
音楽配信ホームページ製作
-
ファイルのチェックサムを改行...
-
EXCEL VBAでカンマ区切りテキス...
-
C#で大容量ファイルの一部編集
-
テキストファイル内の文字の有...
-
ファイル変換
-
外部テキストのフェード効果の...
-
Linuxにてテキストファイル出力...
-
c# テキストファイル操作について
-
StreamReaderで読み込んだファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ATTファイルってどうやって開け...
-
Excel VBAが徐々に遅くなる
-
テキストファイルの一部分を抽...
-
既存のテキストファイルを開く方法
-
テキストファイルの特定行の削...
-
StreamReaderで読み込んだファ...
-
VBA。開いているテキストファイ...
-
VB(VBA)で、バイナリデータを使...
-
Windowsのメモ帳でUTF-8を選択...
-
テキストファイル固定長データ...
-
バイナリデータの中からMidのよ...
-
テキストファイルをSQLServerデ...
-
ファイル変換
-
テキストファイル内容の、16進...
-
パイソンでのテキストデータの...
-
[VB.NET] 処理の高速化を行いた...
-
RGBデータからBMP画像へ
-
C言語でテキストファイルをバイ...
-
エクセルVBAでメールの自動作成...
-
TXTファイルデーターをEX...
おすすめ情報