Go
Go
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Go Downloads
// First build a string that has a preprocessor include
sbSrc := chilkat.NewStringBuilder()
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")
fmt.Println(*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!"
filePath := sbSrc.GetAfterBetween("#include","<",">")
if sbSrc.LastMethodSuccess() != true {
fmt.Println("No #include's found.")
sbSrc.DisposeStringBuilder()
return
}
fmt.Println("filePath: ", *filePath)
// Load the contents of the filePath
sbIncludeFile := chilkat.NewStringBuilder()
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)
fmt.Println(*sbSrc.GetAsString())
// sbSrce now contains:
// 1
// 2
// 3
// Hello World!
// 4
// 5
sbSrc.DisposeStringBuilder()
sbIncludeFile.DisposeStringBuilder()