문자 파일을 64 자의 배열로 읽으려고합니다. 나는 독방 감금 오류가 계속데이터 파일을 읽을 때 세그먼트 화 오류가 발생했습니다.
int main (int argc, char **argv)
{
FILE *fp;
char write_msg[BUFFER_SIZE];
fp = fopen("test.data", "r");
int i;
for (i = 0; i < (BUFFER_SIZE-1); i++){
fscanf(fp, "%s\n", &write_msg[i]);
printf ("printing in the for loop");
}
fclose(fp);
printf("Starting the main().\n");
printf("in Reader, the msg is: %s\n",write_msg);
pid_t pid;
int fd[2];
main()
에서 파일 읽기이 발생하고 난 fscanf(fp, "%c\n", &write_msg[i]);
해야
for 루프의 printf에 개행을 추가하여 버퍼되지 않도록하십시오. 세고 폴트까지 얼마나 멀리 떨어져 있니? – Dan
문제 # 1 : "fopen()"오류가 확인되지 않았습니다. 문제 # 2 : "BUFFER_SIZE"는 무엇이며, "fscanf (write_msg [BUFFER_SIZE])"가 그것을 초과하지 않을 것이라고 확신하십니까? 문제 # 3 : 루프에서 정확히 무엇을 달성하려고합니까? 캐릭터를 읽으시겠습니까? 문자열을 읽으시겠습니까? 줄을 읽으시겠습니까? 읽는 것을 어떻게 통제하고 있습니까? 솔직히 당신의 논리를 다시 생각할 필요가 있다고 생각합니다. 이모 ... – paulsm4
줄을 배열로 읽으려고합니다. –