Это проблема с домашним заданием для моего класса C. Мы изучаем файловый ввод / вывод, и я успешно открыл оба файла, и теперь мне нужно использовать strtok () для первого файла, чтобы извлечь числовые данные и сохранить их в другом файле. Я успешно взял числа из первой строки текстового файла и сохранил их в другом файле, но не могу заставить strtok () выполнить весь файл. Есть предложения?
Не много ... Я рисую здесь пробел. Я пытался использовать "\ n", чтобы разделитель был и пробелом, и новой строкой, но я не думаю, что он работает ... Я думал, что в любом случае у меня может быть только 1 разделитель.
void main()
{
FILE *fp1 = NULL;
FILE *fp2 = NULL;
int i;
char strwarehouse[100];
char *token;
printf("Scanning files and parsing strings....\n");
fp1 = fopen("Assign9.txt", "r");
fp2 = fopen("numfile.txt", "w");
if (fp1 == NULL)
{
printf("ERROR OPENING FILE, TERMINATING PROGRAM\n");
}
else
{
fgets(strwarehouse, 100, fp1);
token = strtok(strwarehouse, " \n");
while (token != NULL)
{
if (isdigit(token[0]))
{
fprintf(fp2, "%s ", token);
}
token = strtok(NULL, " \n");
}
fclose(fp2);
fclose(fp1);
}