Я хочу записать в текстовый файл, который я создал, используя функцию exec
Что я пробовал до сих пор:
int fd[2];
pipe(fd);
dup2(fd[1],1);
char * echo_args[] = {"/bin/echo" , "I want to write this >> ~/.filename", NULL};
execv(echo_args[0], echo_args);
Это привело к следующему выводу in терминал :
I want to write this >> ~/.filename
Мне известно, что существует проблема, связанная с форматированием, как обычно при использовании echo
Мне нужно, чтобы мой текст был между кавычками и массиву нужна вся команда между кавычками, однако использование char * echo_args[] = {"/bin/echo" , " "I want to write this" >> ~/.filename", NULL}
привело к ошибкам компиляции:
test.c:103:42: error: expected '}'
char * echo_args[] = {"/bin/echo" , ""I want to write this">> ~/.file...
^
test.c:103:25: note: to match this '{'
char * echo_args[] = {"/bin/echo" , ""I want to write this">> ~/.file...
Любая идея о том, что я могу сделать, чтобы исправить этот или любой другой альтернативный способ написания текста в файл с помощью exe c? Кроме того, я знаю, что в C есть функциональные возможности файлов без необходимости exec
или чего-либо из этого, но я должен использовать это.