читать () стандартный ввод в с?
У меня есть быстрый маленький вопрос, связанный с командой read ().
Я действительно ржавый в C, и, к сожалению, мое текущее назначение - программирование на C. Нам нужно читать stdin, используя read (), а не fgets и тому подобное.
Итак, у меня есть простой цикл while:
int n, i;
char buffer[257], *input;
while((n=read(fileno(stdin), buffer, 256)) > 0)
{
buffer[n] ='\0';
if(buffer[n] = '\n') break;
write(input, buffer, strlen(buffer));
}
Поэтому я не уверен, как остановить этот цикл нажатием клавиши ввода (конец строки), поэтому у меня есть код прерывания, хотя я не знаю, правильно ли это сделано.
Вся цель, которую я пытаюсь достичь, состоит в том, чтобы поместить ввод из stdin в указатель 'input'
(Я действительно плохо разбираюсь в указателях, так что терпите меня :))
Моя проблема в том, что я получаю ошибки сегментации, когда я нажимаю ввод. Я хотел бы использовать Fgets, потому что тогда все это будет решено с помощью простого
input = fgets(buffer, 256, stdin);
Черт возьми домашнее задание :( В любом случае, если бы кто-нибудь из вас мог указать мне правильное направление, я был бы очень признателен. Спасибо!