#include ステートメントを使用してファイル全体を表示する方法

#include ステートメントを使用してファイル全体を表示する方法

次の内容を含むmain.txtファイルがあるとします。


一部のテキスト

#ピース1.txtを含む

その他のテキスト

#includefragment2.txt"

その他のテキスト


そのうち、彫刻1.txtと彫刻2.txtは次のとおりです。

部分1.txt:


これは作品1の内容です。


部分2.txt:


これは作品2の内容です。


質問:次のように「拡張」インクルードファイルを使用してmain.txtファイル全体を表示する方法:


一部のテキスト

これは作品1の内容です。

その他のテキスト

これは作品2の内容です。

その他のテキスト


ありがとう

ベストアンサー1

Cプログラミング言語の構文を使用したい場合は、それを解析するために#include "file"使用できます。cppたとえば、main.txt 次のような場合:

Some text

#include "fragment1.txt"

Some other text

#include "fragment2.txt"

Some other text

次のことができます。

$ cpp -nostdinc -P <main.txt
Some text
This is content of fragment1
Some other text
This is content of fragment2
Some other text

説明したようにman cpp

-nostdinc ヘッダー・ファイルの標準システム・ディレクトリーを検索しません。 -Iオプションで指定されたディレクトリ(該当する場合は現在のファイルのディレクトリ)のみを検索します。

-Pプリプロセッサ出力でラインマーカーの生成を抑制します。これは、C以外のコードでプリプロセッサを実行するときに便利です。ラインマーカーによって混乱する可能性があるプログラムに送信されます。

ただし、これはcpp単に線の解析に関するものではなく、#includeユースケースに応じて役に立つかもしれません。たとえば、cppすべてのCスタイルのコメントを自動的に削除するには、次のようにします。

// this is a comment
/* this as a comment too /*

役に立つようで-Cコメントを保持したい場合は、オプションがあります。もう一つのことは、プリプロセッサディレクティブで始まるcppすべての行を解釈しようとすることです。#たとえば、次のようになります。

#define A 7
Value: A

次のように印刷されます。

Value: 7

この

#blah blah

エラーが発生します。

<stdin>:14:2: error: invalid preprocessing directive #blah

実際には、cpp構成パーサーに依存するいくつかのプログラムがありますxrdb

おすすめ記事