텍스트 파일을 읽고 있는데 텍스트 파일의 줄 수를 알고 있습니다. fgets를 사용하여 줄을 읽은 다음 strtok을 사용하여 덩어리로 분해합니다. 줄의 첫 번째 문자를 읽으려고하고, "P"또는 "A"이면 조치를 취합니다. 내가 문자 배열로 라인을 취급 할 수 있다고 가정합니다. 이 질문이 초특급 일 경우 미안 해요. 나는 내가 뭔가 잘못하고 있다는 경고를 양식에 알릴 수있다. 아래처럼 할 수있는 더 좋은 방법이 있습니까?문자열에서 문자 만들기
char line[1024];
while (i < LINE_MAX)
{
fgets(line, sizeof (line), fp);
strtok(line," ");
printf("%c",line[0]);
if (line[0] == "P")
printf("the letter is P\n");
if (line[0] == "A")
printf("the letter is A");
}
thread.c : 함수에서 '주' thread.c : 96 : 15 : 경고 : 포인터와 정수의 비교 [기본적으로 사용] thread.c : 96 : 15 : 경고 : 비교 문자열 리터럴 결과가 지정되지 않은 동작으로 표시됩니다. [-Waddress] thread.c : 98 : 15 : 경고 : 포인터와 정수의 비교 [기본값은 활성화 됨] thread.c : 98 : 15 : 경고 : 지정되지 않은 문자열 리터럴 결과와 비교 동작 [-Waddress] 컴파일이 성공적으로 완료되었습니다.
문자 리터럴 (예 :''P'')은 이중 따옴표가 아닌 단일 따옴표로 묶어야합니다. –
양자 택일로 (그러나 덜 최적화 된) OP 문자열은 비교 문자열 인 경우 OP는'strncmp (line, "P", 1)'을 사용할 수 있습니다. – Diti
빠른 응답을 보내 주셔서 감사합니다! – user3287789