#include<stdio.h>
#include<stdlib.h>
int main(int argc, char argv[])
{
FILE *wfp;
int n;
char buf[BUFSIZ];
buf[0] = argv[1];
buf[1] = \' \';
buf[2] = argv[2];
buf[3] = \' \';
buf[4] = argv[3];
buf[5] = \'\\n\';
if((wfp = fopen(\"a.txt\", \"a\")) == NULL)
{
perror(\"fopen : a.txt\");
exit(1);
}
fwrite(buf,1,sizeof(buf),wfp);
fclose(wfp);
return 0;
}
a.txt 내용이
1 1 1
2 2 2
3 3 3
4 4 4 이거라고 할때
프로그램에서 숫자 아무거나 3개 입력하면
a.txt내용뒤에 입력한 내용만 추가하도록 하고싶은데
저걸로돌려보면 글자가 깨져서입력이된당...
뭐가문제인지 알려주실 횽?
저 BUFSIZ를 6으로 해놓고해도 글자가 깨져서들어감요 ㅠ 자료형문제인거같은데 뭐가잘못된건지 감을 못잡겟어요
프로그램 실행시킬때 매개변수로 주는 argv가 buf에 제대로 들어갔는지는 printf(\"%c %c %c\",buf[0], buf[2], buf[4]); 로 확인해본거임?
해보겟츰
int main(int argc, char argv[]) 가 아니고 int main(int argc, char *argv[]) 임... 그리고 포인터는 알고 있나연?
또 buf[0] = argv[1]; 가 아니고 buf[0] = *argv[1]; 임....
마지막으로 포인터는 알고 있나연? argv[] 에 값이 어떻게 들어오는지는 알고 있나연?
아 형 감사요 굳인듯