Sample code for 30+ languages & platforms
C#

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat C# Downloads

C#
//  First build a string that has a preprocessor include
Chilkat.StringBuilder sbSrc = new Chilkat.StringBuilder();
sbSrc.Append("1\r\n2\r\n3\r\n");
sbSrc.Append("#include <qa_data/txt/helloWorld.txt>\r\n");
sbSrc.Append("4\r\n5\r\n");

Debug.WriteLine(sbSrc.GetAsString());

//  sbSrc contains:
//  	1
//  	2
//  	3
//  	#include <qa_data/txt/helloWorld.txt>
//  	4
//  	5

//  The qa_data/txt/helloWorld.txt file contains "Hello World!"

string filePath = sbSrc.GetAfterBetween("#include","<",">");
if (sbSrc.LastMethodSuccess != true) {
    Debug.WriteLine("No #include's found.");
    return;
}

Debug.WriteLine("filePath: " + filePath);

//  Load the contents of the filePath
Chilkat.StringBuilder sbIncludeFile = new Chilkat.StringBuilder();
sbIncludeFile.LoadFile(filePath,"utf-8");

//  Replace the first occurrence of #include <...> line with the contents of the include file.
sbSrc.ReplaceAllBetween("#include",">",sbIncludeFile.GetAsString(),true);

Debug.WriteLine(sbSrc.GetAsString());

//  sbSrce now contains:
//  	1
//  	2
//  	3
//  	Hello World!
//  	4
//  	5