읽기 (stdin에서 파일 가져 오기) 기능을 가지고 처음 세 줄을 읽고이를 연결합니다.C 프로그래밍 - valgrind에서 오류를 일으키는 strcat() 사용
char line[LINESIZE];
char *temp_fd = malloc(sizeof(char)*LINESIZE*3);
char *temp_sm = malloc(sizeof(char)*LINESIZE);
char *temp_nm = malloc(sizeof(char)*LINESIZE);
char temp_pc[LINESIZE];
for(i=0;i<3;i++) {
if (fgets(line, LINESIZE, file) != NULL) {
strcat(temp_fd,line);
if (i==0)
strcpy(temp_sn, line);
else if(i==1)
strcpy(temp_nm, line);
else if(i==2)
strcpy(temp_pc,line);
}
}
valgrind에서 두 개의 오류가 발생하지만 strcat이 문제입니다. 내 포인터에 대한 메모리를 올바르게 할당하는 방법? (LINESIZE는 60btw입니다.)
고마워요!
무엇입니까 'temp_sn'를? 이것이 실제 코드입니까? –
그리고 여러분이 그것에있는 동안,'sizeof (char)'는 정의상 1이므로, 여러분은 그것을 버려 둘 수 있습니다. –