strtok를 strcpy를 통해이 포럼의 다른 답변에서 제안한대로 복사하려고 할 때. 나는 각각의 번호를 얻지 못한다. 파일 형식은 각 줄마다 43,789,127.0.0.1과 같습니다. 그러나 127.0.0.1이어야하는 임시 직원 [2] 위치에서 127이됩니다. 내가 여기서 무엇을 놓치고 있니? const char s[1] = ",";
널 종결하지 않고, (1)의 크기를 가지고 그것을 정의strtok에 의해 반환 된 토큰을 복사하는 방법
FILE *f = fopen("somefile", "r");
char *temp[3];
temp[0] = malloc(20);
temp[1] = malloc(20);
temp[2] = malloc(20);
const char s[1] = ",";
char *pch;
if(f != NULL)
{
char line[1024];
while(fgets(line, sizeof line, f) != NULL)
{
pch = strtok(line, s);
for(int i = 0; i<3; i++)
{
strcpy(temp[i],pch);
pch = strtok (NULL, s);
}
}
fclose(f);
} else
{
perror("somefile");
}
for(int i = 0; i<3; i++)
{
printf ("%s\n",temp[i]);
}
'CONST 문자 S [1] = ""; '->'CONST 문자 S [2] = "" ; 또는'const char s [] = ","; ' – BLUEPIXY
파일의 마지막 줄부터 결과를 얻을 수 있습니다. 이전 행 데이터를 덮어 씁니다. –
나는 이미 그 것을 인정합니다. –