Я пытаюсь скомпилировать проект C, который я написал, когда использовал окна. Я пытаюсь скомпилировать тот же проект с той же IDE (Code::Blocks) в Linux (Ubuntu 12.04). В моей программе используется несколько функций System("CLS")
. Но консоль linux говоритsh: 1:CLS: not found
Segmentation fault (core dumped)
Я включил <stdlib.h>
и <stdio.h>
(и, конечно, несколько).
консоль линукс; Ошибка CLS не найдена
Ответы (3)
Проблема в том, что команда CLS существует только в Windows. Для Linux вам нужна команда: clear
.
В любом случае, это лишь частично решит проблему: а) у вас будет та же проблема, если вы перенесете свою программу на компьютер с Windows, и б) нет причин для того, чтобы это приводило к ошибке сегментации.
Команда system
запускает команды оболочки в вашей локальной системе. cls
— допустимая команда DOS/Windows, но ее нет в Linux. Команда clear
в Linux предоставляет аналогичную функциональность.
Ошибка сегментации предполагает, что вы неправильно обрабатываете ошибку.
CLS — это старая команда MS-DOS, которую вряд ли можно найти на вашем компьютере с Linux. Вы не должны полагаться на создание другого процесса для очистки текста консоли. Вы можете вызвать clear
или использовать escape-коды ANSI для выполнения работать на вас. Ни один из них не является портативным, но оба широко используются.