그래서 한 문자 씩 파일에서 배열로 읽으려고합니다. 내가 오류를 받고 있어요fille에서 char 배열로 읽는 C 언어
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE * fp;
char abc[255];
int i = 0;
fp = fopen ("source.c", "r");
while(fgetc(fp) != EOF)
{
fputc(abc[i], FILE *fp);
printf("%c", abc[i]);
i++;
}
fclose(fp);
return(0);
}
:
main.c: In function 'main':
main.c:19:19: error: expected expression before 'FILE'
fputc(abc[i], FILE *fp);
이 오류가 무엇을 의미합니까 여기 내 코드는? 무엇이 잘못되었으며 어떻게 수정합니까?
int fputc (int character, FILE * stream); (당신의 경우 fputc (abc [i], fp);) –
'c'에서 인자 타입을 함수 인자로 넘겨주지 않으면'fputc' 호출에서'FILE *'을 제거하십시오. 그러나 그 전체 라인은 문제입니다. 'fputc'는 스트림에 문자를 _write하려고 시도합니다.이 파일은' "r"'모드로 읽기 전용으로 열었습니다. 답에서 알 수 있듯이'fputc' 라인을 완전히 버리십시오. 파일에 무언가를 쓰려고한다면, 쓰기 위해 열어야합니다. – yano
이 줄 :'while (fgetc (fp)! = EOF)'는 파일에서 문자를 읽고 아무데도 저장하지 않습니다. 제안 :'char abc [255]; int ch; for (i = 0; i <255 && (ch = fgetc (fp)! = EOF)); i ++) {abc [i] = (char) ch; }' – user3629249