こんにちわ、いつもお世話になっております。
今日からc言語の勉強をはじめました。聞きたいことがあります。
英語を海賊語に変換するプログラムを書いています。
そこで、まず辞書というインプットファイルを読み込みました。
フォーマットは次のようになっています。(左が英語、右が海賊語)
hello;ahoy
hi;yo-ho-ho
pardon me;avast
excuse me;arrr
これを一行読んで、; で区切り 英語をeng[] に海賊語をpir[]に入れたいのですが。
調べるとfscanf(ファイル、フォーマット)という関数を見つけて、これだとフォーマットにそって、一行ずつ読んでくれるというのがわかりました。
そこで。
;で区切ったフォーマットを使いたいのですが、
char eng[30];
char pir[30];
while((fscanf(fp,"%s ;%s", eng, pir))!=EOF){
printf("English : %s", eng); //英語だけを表示する。
fpはファイルです。
}
と書いてみたのですが、おもいっきりスペースで区切られていて、;で区切ってもらえませんでした。フォーマットの書き方が悪いのは分かります。もうあほ過ぎて話しにならないですよね。けれども、何かもっと良い関数やアイディアはありませんか?
関係ないですけど。C勉強してJAVAがものすごい大好きってことに気づきました(´;ω;`)。
No.3
- 回答日時:
> 調べるとfscanf(ファイル、フォーマット)という関数を見つけて、これだとフォーマットにそって、一行ずつ読んでくれるというのがわかりました。
「一行ずつ読む」というのは嘘、あるいは、初心者用に詳細を省略したいい方です。fscanfでは、実際は、殆どの場合で改行は空白と同じあつかいになります。
フォーマット文字列がわからないのなら、リファレンスマニュアルの該当項目をよく読みましょう。
他の言語の経験があるのなら、思い込みでCのプログラミングをするのは、とても危険なことです。
だから「マニュアルを読みましょう」質問はそのあとです。
特に、Javaの経験があるのなら、中途半端に似ているだけに、きちんと分けて覚えないと。
Javaでは意識しないでよかった、文字列操作やメモリ管理が重要になってきます。
その意味では、なぜ「今日から始めました」でこんな内容なのかが気になります。もうちょっと基礎の勉強をしてもよいのでは?
> 関係ないですけど。C勉強してJAVAがものすごい大好きってことに気づきました
言語論争するつもりはないですが、こんなこと言うならJavaでやりゃいいじゃん、ってなりませんかね?
ご回答ありがとうございました。
フォーマットを読んだのですが、よくわからなかったので質問させていただきました。
これは、私が好きでやっているのではなくて、学校で出された課題についての質問です。授業が始まってすぐ出されて、自分でCを勉強しながら3日で仕上げなくてはいけないプログラムなので、基礎をしっかりと。。というのは分かるのですが、他のプログラムも書かなければいけないので、はっきりいって時間がありません。
Javaで全部かけるなら、最初から書いてます(´・ω・`)
fscanfでは、殆どの場合で改行は空白と同じあつかいになる事がわかりました、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 大学受験英語の勉強法についてです どうしても英語長文の勉強ができません 初めて数分で絶対にやる気がな 2 2023/05/05 00:32
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- 大学受験 大学受験 辛い 英語 読めない こんにちは。 現在大学受験をしてる者です。 色々あり浪人なんですけど 11 2022/09/06 12:03
- TOEFL・TOEIC・英語検定 英会話の習得 4 2022/06/05 10:23
- 英語 中学生レベルの英語力から英語習得 3 2022/11/26 09:27
- 高校 最近考えついた勉強方法についてご意見をいただきたいです。 私は文系の高校生で、将来英語を使った職に就 1 2023/02/04 21:28
- 大学受験 3浪しようと思うので、アドバイスお願いします。 自分としては結構メンタルきつくて後期でいいから、東京 3 2023/02/13 21:47
- 大学受験 大学受験英語長文の勉強法について 武田塾のYouTubeなどを参考にして、勉強法を考えました 自分は 2 2023/05/05 08:05
- C言語・C++・C# 略語の読み方について 2 2023/05/25 12:35
- 大学受験 大学受験英語長文の勉強方が本当にわかりません 自分は浪人生なのですが、高三の春から今までずっと何をや 2 2023/05/04 22:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル内のデータを1行削除...
-
c言語 2つのファイルを行ご...
-
C言語での採番について
-
巨大なテキストファイル(可変...
-
VS2010 MFC CStdioFileについて
-
C言語での改行コードの扱いにつ...
-
バッファとは何ですか
-
どんなプログラムを書いても指...
-
C言語初心者の質問失礼します。
-
フルパスから最後のディレクト...
-
ACCESSのEXEを作るのは可能...
-
ネットワーク上のコンピュータ...
-
Access クエリ実行が急に非常に...
-
soucetreeでローカルのクローン...
-
XMLファイルの表示について
-
「UNCパスはサポートされません...
-
Wordマクロで指定したフォルダ...
-
ファイル名の先頭にアンダース...
-
VBAでMP3を鳴らしたい
-
LINK : fatal error LNK1104に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
VBSで指定行に挿入
-
テキストファイルの行数を取得...
-
c言語 2つのファイルを行ご...
-
改行までの一文字ずつのファイ...
-
freadとfwrite
-
fopenで開いたファイルのサイズ...
-
続・EOF判定されない
-
テキストファイルの文字列の削除
-
巨大なテキストファイル(可変...
-
ファイルサイズ指定し、ファイ...
-
fprintfで出力するファイルのパ...
-
ハフマン符号のプログラム
-
winsock recvでの文字化け
-
0x00をファイル出力
-
複数テキストファイルを読み込...
-
C言語でのtxt検索
-
VC++6でfgets関数の変わりにな...
おすすめ情報