Swift
Swift
Implement Preprocessor #include with StringBuilder
Demonstrates how to implement #include with a Chilkat StringBuilder.Chilkat Swift Downloads
func chilkatTest() {
// First build a string that has a preprocessor include
let sbSrc = CkoStringBuilder()!
sbSrc.append(value: "1\r\n2\r\n3\r\n")
sbSrc.append(value: "#include <qa_data/txt/helloWorld.txt>\r\n")
sbSrc.append(value: "4\r\n5\r\n")
print("\(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!"
var filePath: String? = sbSrc.get(afterBetween: "#include", beginMark: "<", endMark: ">")
if sbSrc.lastMethodSuccess != true {
print("No #include's found.")
return
}
print("filePath: \(filePath!)")
// Load the contents of the filePath
let sbIncludeFile = CkoStringBuilder()!
sbIncludeFile.loadFile(path: filePath, charset: "utf-8")
// Replace the first occurrence of #include <...> line with the contents of the include file.
sbSrc.replaceAllBetween(beginMark: "#include", endMark: ">", replacement: sbIncludeFile.getAsString(), replaceMarks: true)
print("\(sbSrc.getAsString()!)")
// sbSrce now contains:
// 1
// 2
// 3
// Hello World!
// 4
// 5
}