Posso usar a biblioteca string.h no EP 2??
Pode.
Mas a sua pergunta me deixou meio curioso... Para quê você vai usar <string.h>? Na minha solução eu usei só <stdio.h> e <stdlib.h>...
Mas a sua pergunta me deixou meio curioso... Para quê você vai usar <string.h>? Na minha solução eu usei só <stdio.h> e <stdlib.h>...
É que estou armazenando (copiando) o nome do arquivo de entrada em *argv para um registro (buffer) temporário e depois abrir o arquivo com aquele nome. Ou então, se '\0' , abre o stdin e stdout.
Se não estiver legal assim, posso tentar mudar.
Se não estiver legal assim, posso tentar mudar.
A cópia do nome do arquivo para o buffer temporário não está errada, mas ela é desnecessária. Você pode trabalhar diretamente com argv[2] (o nome do arquivo de entrada), desde que argc seja maior que 2. Não há problema algum em passar argv[2] como parâmetro para fopen.