我正在尝试编译我在使用Windows时编写的C项目。我试图在Linux(Ubuntu 12.04)中使用相同的IDE( Code :: Blocks )编译相同的项目。我的程序中使用了几个System("CLS")
函数。但linux控制台说
sh: 1:CLS: not found
Segmentation fault (core dumped)
我已经加入<stdlib.h>
和<stdio.h>
(当然还有几个)。
答案 0 :(得分:8)
问题是命令CLS仅存在于Windows上。对于Linux,您需要的命令是:clear
。
无论如何,这只会部分地解决问题:a)如果将程序移植到Windows机器上,你会遇到同样的问题,并且b)没有理由产生分段错误。
答案 1 :(得分:2)
system
命令在本地系统上运行shell命令。 cls
是一个有效的DOS / Windows命令,但它在Linux上不存在。 Linux上的clear
命令提供了类似的功能。
分段错误表明您没有正确处理错误。
答案 2 :(得分:1)
CLS是一个旧的MS-DOS命令,不太可能在您的Linux机器上找到。您不应该依赖于生成另一个进程来为您清除控制台文本。您可以致电clear
或use ANSI escape codes为您完成工作。两者都不是便携式的,但两者都被广泛使用。