1. ホーム
  2. c++

[解決済み】文字列を行末までchar単位で読み込む C/C++【重複

2022-02-12 02:29:02

質問

文字列を1文字ずつ読んで、行末に到達したら止めるには?私はfgetc関数を使ってファイルから読み込み、文字列を配列に格納しています(後者は配列をmallocに変更します)、しかし、行末に達したときに停止する方法がわかりません

これを試してみました(cはファイルからのcharを持つ変数です)。

if(c=="\0")

しかし、ポインタと整数の比較はできないというエラーが発生します。

ファイルは次のようなものです(単語の長さは不明です)。

one
two
three

そこで質問です。 1) Ⓐは2つのシンボル(Ⓐと0)なので、Ⓐと比較できるのか、それとも1つとしてカウントされるのか(Ⓑも同じ質問です)。 2) もしかしたら、"the \n" を使うべきかもしれない? 3) もし上記の提案が間違っているとしたら、どうしたらいいでしょうか。

(私はC++の初心者です。)

どのように解決するのですか?

シングルクォートを使用したい。

if(c=='\0')

ダブルクォート(")は文字列を表し、文字の連続を表します。 一重引用符(')は個々の文字を表します。

ただし、行末は改行文字で表し、'˶'ᴗ'˶となります。

どちらの場合も、バックスラッシュは文字の一部ではなく、特殊文字を表現する方法に過ぎないことに注意してください。 バックスラッシュを使うことで、印刷できない文字やコンパイラを混乱させるような文字を表現することができます。