Возможно, вы захотите использовать перенаправление (в вашем окне cmd
) при запуске yourprog.exe
.Поэтому, если ваши данные находятся внутри mydata.txt
, вы должны запустить yourprog.exe < mydata.txt
в командной строке.
Вы можете использовать file I / O (например, вызов fopen
), когда ваш main
имеет более одного аргумента (например, когда вы запускаете yourprog.exe mydata.txt
).Затем вы проверите, когда argc
передается на main
> 1, и в этом случае выполните FILE*f = fopen(argv[1], "r");
и прочитаете ваш ввод (используя fscanf
) из этого f
(после проверки этого f
не является нулевым).
Перед написанием кода обязательно прочитайте документацию (например, о каждой функции, которую вы используете).Не забудьте включить все предупреждения и отладочную информацию (поэтому скомпилируйте с gcc -Wall -Wextra -g yourprog.c -o yourprog.exe
... улучшите свой код, чтобы не получать предупреждений).
Конечно прочитайте Как отлаживать небольшие программы
Я создаю веб-сайт для компиляции файлов .c и запускаю файл .exe с некоторыми входными данными
Вы, вероятно, этого не делаетеиметь навыки, чтобы сделать это с умом (есть огромные риски безопасности);если бы вы это сделали, вы бы не задавали свой вопрос в таких смутных терминах.Почему бы вам не использовать godbolt ?
Если вы все еще хотите скомпилировать и запустить произвольный код C на общедоступном веб-сервере, сначала вам следует подумать об избежании уязвимостей (вы не хотите отправляться в тюрьму, если какой-то плохой парень на другом континенте загрузил вредоносный код C и запустил его на на вашем сервере, и вы, вероятно, будете нести ответственность и нести юридическую ответственность, когда это произойдет),Прочитайте о контейнеризация и помните, что большинство решений (их трудно понять) выше Linux (поэтому вам нужно сначала изучить Linux)
Возможно, вы также рассмотрите возможность перевода кода C в Webassembly (или, возможно, Javascript) и запустите результат в браузере пользователя.Это будет непросто, но снизить риски на веб-сервере (поскольку код C запускается в браузере клиента).
Если вы просто хотите разработать внутренний сайт (доступный только в некоторой интрасети от людей)вы доверяете) вы можете рассмотреть возможность использования PHP popen функции (для запуска какой-либо команды gcc.exe
или для запуска yourprog.exe
и позаботиться о ее выводе).Эта PHP-функция основана на POSIX popen (3) (для которого вы найдете множество примеров и объяснений).
Возможно, вам не хватает базовых знаний об операционных системах.Вы могли прочитать Операционные системы: Три Легких Части , чтобы получить их.Не забудьте также лучше понять протокол HTTP и HTML5 и связанные с ним технологии (AJAX, Websockets и т. Д.).Вам также может не хватать знаний о них!
Я также склонен полагать, что Linux (который используется на большинстве веб-серверов, кстати) гораздо более дружественен для ваших целей, чем Windows.Но ваши цели намного более амбициозны и трудны, чем вы думаете.