質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

2回答

1652閲覧

テキストファイルの読み込みについて

vanpy

総合スコア2

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2021/05/20 10:39

テキストファイルの読み込みについて質問です。
あらかじめ用意されたテキストファイルを1行読み込み、 読み込んだ文字列内で特定の文字を検索する以下の プログラムを作成せよ。
(1)Emacs(Visual Studio)を用いて「風が吹けば桶屋が儲かる。」をローマ字で入力し、okeya.txt というファイル名で保存せよ。
(2)つぎに、この okeya.txt を読み込み、文字列内で文字の 'a'が 何番目にあるかをすべて列挙表示するプログラムokeya.cを 作成せよ。なお、文字列の先頭文字(K)の位置を第1番目とする。
文字列中の特定文字の検索にはポインタを用いること。

まずは「風が吹けば桶屋が儲かる」(ローマ字)を表示したかったのですが、コンパイルした結果、何も表示されませんでした。
表示されるにはどうしたら良いですか?

ソースコード
pragma warning(disable: 4996)
include <stdio.h>
include <stdlib.h>
constexpr auto N = 256;
int main(void) {
FILE* fp;
char filename[] = "okeya.txt";
char str[N];

fp = fopen(filename, "r"); if (fp == NULL) { printf("%s file not open!\n", filename); exit(1); } while (fgets(str, N, fp) != NULL) { printf("%s", str); } fclose(fp); return (0);

}

okeya.txt
Kazega hukeba okeyaga moukaru

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pepperleaf

2021/05/21 08:30

> コンパイルした結果、何も表示されませんでした。 とはどんな状態なのでしょうか? (手元の環境も同様で、エラーまたは、一部手直しでOK) 既に回答はついていますが、状況が見えません。 > Emacs(Visual Studio) これはどんな環境? Emacsの実行環境?
guest

回答2

0

VisualStudioは使っていないので知りませんが、コンパイルエラーが出て、実行していないのを見落としていませんか。

C

1constexpr auto N = 256; 2 3```を 4```C 5int N=256; 6

または

C

1#define N (256) 2 3```に変更すれば、普通に動きました。

投稿2021/05/21 02:38

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

vanpy

2021/05/21 08:38 編集

回答ありがとうございます。 変更したのですが、表示されませんでした。 どうしたら解消されるのでしょうか? pragma warning(disable: 4996) include <stdio.h> include <stdlib.h> define N (256) int main(void) { FILE* fp; char filename[] = "okeya.txt"; char str[N]; fp = fopen(filename, "r"); if (fp == NULL) { printf("%s file not open!\n", filename); exit(1); } while (fgets(str, N, fp) != NULL) { printf("%s", str); } fclose(fp); return (0); }
guest

0

VisualStudioを使ってるなら、ブレークポイントを設定することで、ソースコードの任意の場所で実行を止めることができます。
そして、そこでの変数の中身を見ることができます

また、そこから、1行づつ実行することもできますんで、そうやって、そのコードがどういうふうに動いてるのかを確認しましょう。

何も表示されないというのであれば、表示するところまで実行されていないことが考えられます。
どこでコケてるのか調べてみましょう

投稿2021/05/20 10:59

編集2021/05/20 10:59
y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問