소스코드는
#include <stdio.h>
void main()
{
char *lanbuf[5] = { ("NULL"), ("NULL"), ("NULL"), ("NULL"), ("NULL") };
FILE *FP;
fopen_s(&FP, "LANLIST.txt", "r");
char buf[128];
int i = 0;
while (fgets(buf, 128, FP) != NULL)
{
lanbuf[i] = buf;
i++;
}
printf("%s", lanbuf[0]);
printf("%s", lanbuf[1]);
printf("%s", lanbuf[2]);
printf("%s", lanbuf[3]);
printf("%s", lanbuf[4]);
}
텍스트 파일 내용은
Microsoft
Realtek PCIe GBE Family Controller
입니다
제가 생각한대로라면
출력값이
Microsoft
Realtek PCIe GBE Family Controller
NULLNULLNULL
이되어야되는데
Realtek PCIe GBE Family Controller
Realtek PCIe GBE Family Controller
NULLNULLNULL
이렇게 lanbuf[0]에도 Realtek PCIe GBE Family Controller 가 저장이됩니다
무엇이 문제인가요 암만 디버깅해도 와일이 시작할때 lanbuf[0] 의 내용이 갑자기 바뀌어버립니다 ㅠ
lanbuf[i] = buf;가 아니라 strncpy나 memmove를 써야 해.
ㅋㅋㅋ - dc App