daekss
(usa Ubuntu)
Enviado em 30/05/2012 - 15:21h
Então pessoal, é que na verdade o meu comando em C tem que por obrigação ter uma chamada de sistema.
O que seria melhor para mim, é utilizar a chamada SED
no caso do exemplo:
system("sed -i 's/palavraantiga/palavranova/g' teste.txt");
eu consigo substituir a palavraantiga pela palavranova no arquivo teste.txt
O problema, é que ele só funciona se eu digitar essas palavras e o nome do arquivo diretamente nessa função system com o sed.
Se eu tento colocar através de uma variável, por exemplo:
int main()
{
char pantiga[40];
char pnova[40];
char nomearquivo[40];
gets(pantiga);
gets(pnova);
gets(nomearquivo);
system("sed -i 's/pantiga/pnova/g' nomearquivo");
}
ele nao funciona pessoal ! ele nao consegue ler o conteúdo dessas variáveis. ja tentei de várias formas, inclusive com ponteiros.
Alguem me sugere um jeito de fazer isso funcionar ?