當我嘗試通過strcpy將strtok複製到本論壇中的其他答案時。我沒有得到相應的號碼。文件格式在每個特定的行上類似於這個439127.0.0.1。不過,我在temp [2]位置得到127,應該是127.0.0.1。我在這裏錯過了什麼?如何通過strtok在c中複製返回的令牌
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]);
}
'常量字符S [1] = 「 」;' - >'常量字符S [2] =「,」 ;'或'const char s [] =「,」;' – BLUEPIXY
您只會從文件的最後一行獲得結果。以前的行數據將被覆蓋。 –
那麼我已經知道這件事了。 –