2016-11-22 7 views
0

나는 const FILE * fp를 사용하여 되감기, fscanf 등의 일반적인 작업을 시도하지만 c4090 오류가 발생하며이를 이해하지 못합니다.상수 filepointer를 사용하여 되감기 및 fscanf

int search(const FILE *fp, int patt) { 
    if (fp != NULL) { 
    rewind(fp) //Getting c4090 warning 
    //other statements 
    } 
} 

이 기본적인 질문처럼 보인다 나는 비트와 마이크로 소프트 메뉴얼을 찾고 시도는 제가 있는데 정말 그들이

+2

'rewind'는'FILE' 구조체를 수정, 그래서 그것은'const를 파일 *을'하지 않습니다. – user3386109

답변

1

을 의미하는 것을 이해하지 못한다 "이 경고가 될 수 있습니다 대부분입니다 const 또는 휘발성 항목에 대한 포인터가 const 또는 volatile을 가리키는 것으로 선언되지 않은 포인터에 할당 될 때 발생합니다. "

출처 : https://msdn.microsoft.com/en-us/library/k77bkb8d.aspx

시도 :

int search(FILE *fp, int patt) { 
    if (fp != NULL) { 
    rewind(fp) //No c4090 warning, Because we can change fp 
    //other statements 
    } 
} 
+0

rewind()에는 무엇이 있습니까? – Comet