我正在编写一个 GUI C/C++ 编辑器,它还可以使用 Cydia 附带的 GNU 编译器为 iOS 平台编译源文件。
这将是一个 Cydia 应用程序,所以一切都应该能正常工作。
要编译文件,我需要运行终端命令行,并且我正在考虑使用函数“system()”,因为我想不出其他任何东西。
我现在正在寻找一种方法,以某种方式将终端的输出和输入重定向到 GUI,但我真的不知道从哪里开始。
我读到我也许可以使用管道来做到这一点,但它并不能真正满足我的需要,因为我需要来自终端的“实时”输入和输出,而不是 .txt
仅包含终端输出的文件...
希望有人能帮助我。
最佳答案
当然。使用 popen()
。像这样:
const char *cmd = [NSString stringWithFormat:@"gcc -o %1$@.o %1$@.c", sourceFileName].UTF8String;
FILE *p = popen(cmd, "r");
size_t sz;
char buf[1024];
while ((sz = fread(buf, sizeof(buf), 1, p) != 0) {
NSString *s = [[NSString alloc] initWithBytes:buf length:sz encoding:NSUTF8StringEncoding];
textView.text = [textView.text stringByAppendingString:s];
[s release];
}
pclose(p);
关于c++ - 将终端的输入/输出重定向到 iOS JB 中的 gui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792256/