将终端的输入/输出重定向到iOS JB中的gui

Redirect input/output of a terminal to a gui in iOS JB

本文关键字:iOS JB 中的 gui 重定向 输出 终端 输入      更新时间:2023-10-16

我正在编写一个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);