0

C/C++/C# の初心者。stdio.h (getchar() など) を介して読み取った入力ファイル__LINE__の現在の行番号を返すために使用する方法はありますか? そうでない場合、それを行う別のより良い方法はありますか?

4

2 に答える 2

1

__LINE__処理中のソース コード ファイル内の現在の行のソース コード ファイル行番号に変換される特別な C/C++ プリプロセッサ定義です。実際の C/C++ プログラムからの入力または出力とは何の関係もありません。

__LINE__ログを生成するときに、別の特別な C/C++ プリプロセッサ定義と共に、ソース コード ファイル名 (定義されているもの) と特定の行番号 (定義されているもの)__FILE__を提供するためによく使用されます。__FILE____LINE__

そのため、インターフェイスが次のように見えるログ関数があり、次のようlog (char *pszMessage, char *pszFile, int iLineNo)に使用できますlog ("My Log message", __FILE__, __LINE__);

これらは、プリプロセッサがソース ファイルを開いて処理するときに値が変更される特別な組み込み定義です。

Basile Starynkevitch が述べたように、行を数えたい場合は、C/C++ 入力関数/オブジェクトの 1 つを使用して行を読み取り、読みながらカウントする必要があります。

于 2013-09-27T19:24:36.663 に答える