log.txt файл:strtok функция не работает должным образом
2327 - Your account is created on 01/09/15 #
2327 - Amount:100 withfrawed from your account on 01/09/15 #
Этот код показывает мне выход в первый раз компиляции и другой другой выход на второй раз компиляции. Что такое ошибка у меня есть сделать
#include<stdio.h>
#include<conio.h>
#include<string.h>
FILE *fp;
void main()
{
int i=0;
char temp[10],log[10000],*token;
char s1[2] = "#",s2[2] = "-",logger[100][70],no[100][10];
clrscr();
fp=fopen("LOG.TXT","r");
while(fscanf(fp,"%s",temp)!=EOF)
{
strcat(log,temp);
strcat(log," ");
}
fclose(fp);
printf("%s",log);
token = strtok(log,s1);
while(token!=NULL)
{
strcpy(logger[i],token);
i++;
token = strtok(NULL,s1);
}
i=0;
token = strtok(logger[i],s2);
while(token!=NULL)
{
strcpy(no[i],token);
i++;
token = strtok(logger[i],s2);
}
getch();
}
ну, вначале, похоже, вы не использовали строку с нулевым завершением для 'strcat()'. –
Кроме того, нет необходимости анализировать дважды два раздельных разделителя. Вы можете использовать 'char * del =" # - "' сразу. И всегда проверяйте успех 'fopen()' –
Извините, но, вставив код, вы говорите, что именно вы делаете, а не то, что вы хотите сделать. Компьютеры всегда делают то, что им говорят, а не то, что они предназначены. Вы точно совершаете ту же ошибку (как вы жалуетесь, что вы действительно делаете) с нами, чем с вашего компьютера. Как мы можем знать, что именно вы хотите сделать и что вы пропустили? –