파일 (작은 보관함을 원한다)을 열려고하는데 그 안에 다른 파일 내용을 복사하려고합니다. 코드는 다음과 같습니다.C - 파일을 읽고 다른 사람에게 데이터 추가하기
FILE * arch;
FILE * par;
void read_words (FILE *f)
{
char x[1024];
while (fscanf(f," %s",x)==1)
{
fprintf(arch," %s", x);
}
}
int main(int argc, char * argv[])
{
char * nome;
nome = argv[1];
archivio = scrivi(getcwd(NULL, 0), nome);
arch = fopen(archivio, "w+");
par = fopen(argv[2], "r+");
read_words(par);
return 0;
}
"archivio"는 작업 경로라고 가정하십시오.
나는 함수를 다음과 같이 호출한다 : ./a.out archiveName FilePath
.
내가하고 싶은 일은,이 파일을 열고, 다른 파일을 열고 아카이브에 내용을 쓰는 것입니다.
문제는 read_words 함수에 있습니다. 그것은 혼자서 취한다면 작동합니다 (여기에서 코드를 가져 왔습니다). 그러나 여기에 코드를 삽입하면 작동하지 않습니다. while (fscanf(f," %s",x)==1)
에도 들어 가지 않기 때문입니다. 실제로 아카이브 파일은 항상 비어 있습니다.
이유를 찾도록 도와 줄 수 있습니까?
감사
추신 :
La funzione mkbkp si occupa della creazione di un archivio contenente i file e le cartelle passate come parametri.
이상한 것은 당신 만 read_words와 C 파일을 만들 경우, 그것은 잘 작동한다는 것입니다 : 이것은 내가 삽입을 시도 예를 들어 텍스트입니다.
어떤 의미에서 작동하지 않습니까? –
어떤 방식으로 작동하지 않는지 말씀해 주시겠습니까? –
이 코드가 길다고 생각하십니까? – Barmar