ファイルの中の数字と/n(改行)の個数を数えるプログラムを作りたいのですが、読み込むファイルの中身の作り方が分かりません。読み込むファイルの中身は単純に125864などと打ち込むだけではダメでした。。ファイルの中身の数字と/nの個数を数えるプログラムは出来ています。
> 読み込むファイルの中身の作り方が分かりません。
メモ帳でもVisual Studioでも何でも良いからテキストエディタで
1<改行>
2<改行>
3<改行>
...
と入力して保存すれば良いのではないでしょうか。そういう問題ではなくて、でしょうか。
※ファイルの先頭にBOMが入らないよう保存時には気を付けてください。
タグ修正しました。ご指摘ありがとうございます。
私が作ったプログラムでは、入力したファイルが存在しない場合、そのファイルは開けませんと出るようにしているのですが、dodox86さんの言うようにやってみてもファイルが開けないと言われてしまうので多分プログラムが間違っていました。
エラーがなかったので大丈夫だと思っていましたが、もう一度見直してみます。
C言語の改行は'/n'ではなく'\n'ですが、そこは大丈夫かな?
とりあえず、ファイルのPATH指定は絶対PATHにすると確実です。Windowsであれば、fopen("file.txt")のようではなく、fopen("C:\\dir\\file.txt") とかfopen("C:/dir/file.txt")のように指定します。あと、Daregadaさんが指摘してくださっているように改行コードの指定などにつかうエスケープシーケンスは正しく記載しましょう。閲覧者も回答者も、「そこは理解しているのか?」と疑問に思ってしまいます。
普段¥nで改行していたため、慣れてなくて間違えていました、、申し訳ないです。ホント単純なミスで、fopen(fname,"r")の、fnameの両サイドに"がついていたため、プログラムが上手く実行しなかったことがわかりました。デバックではエラーでないんですね、、。皆様お騒がせ致しました。
ご自身で解決されたのであれば、理由を明記の上、自己回答、解決で質問を閉じましょう。
> デバックではエラーでないんですね、、。
fopenでエラーが出ているはずです。返り値がNULLならエラーで、errnoと言うグローバル変数にエラーの詳細が保存されています。
https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-160
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/fopen.3.html
回答1件
あなたの回答
tips
プレビュー