LINUX.ORG.RU
while read str
do
    echo $str\n
done > file

А вообще, обычно в файл пихают сами ставя в конце конвеера > file

jeuta ★★★★
()
Ответ на: комментарий от jeuta

> А вообще, обычно в файл пихают сами ставя в конце конвеера > file
Я знаю, просто для примера сказал. Твою мать! Так и знал, что кто-нибудь это скажет!

Gordy
() автор топика

--------

#!/bin/sh

cat - > my_file

--------

Оно?

anonymous
()
Ответ на: комментарий от Gordy

>перевод строки не работает

man bash, builtins, echo на предмет -e и не забыть кавычки. /bin/echo емнип не обязан знать о -e, но всем пофиг.

x3al ★★★★★
()

дык в чём проблема?

#include "stdio.h"

int main()
{
  char buf[256];
  while (!feof(stdin))
  {
    fgets(buf, 256, stdin);
    printf("<<<<%s", buf);
  }
}
> cat pipe_test.c| ./a.out                                                                                                                                                                ~ 
<<<<#include "stdio.h"                                                                                                                                                                      
<<<<                                                                                                                                                                                        
<<<<int main()                                                                                                                                                                              
<<<<{                                                                                                                                                                                       
<<<<  char buf[256];                                                                                                                                                                        
<<<<  while (!feof(stdin))                                                                                                                                                                  
<<<<  {                                                                                                                                                                                     
<<<<    fgets(buf, 256, stdin);                                                                                                                                                             
<<<<    printf("<<<<%s", buf);                                                                                                                                                              
<<<<  }                                                                                                                                                                                     
<<<<}                                                                                                                                                                                       
<<<<}  

do0dlez ★★
()
Ответ на: комментарий от Gordy

C

неважно на чём, просто твоя программа должна читать построчно входящий поток и каким-то образом на него реагировать

do0dlez ★★
()

Почитай в учебниках или манах про потоки stdin, stdout и stderr.

provaton ★★★★★
()
FILE *out;
out = fopen, blablabla
char c;
while (!feof(stdin)) {
      c = fgetc(stdin);
      fputc(out, c);
}
fcole(out);

чем не устраивает такая конструкция?

mi_estas
()
Ответ на: комментарий от dGhost

dGhost

в смысле почему построчно?

Ошибся, потому что. Но всё равно, лучше читать блоками, чем посимвольно

do0dlez ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.