Answer the question
In order to leave comments, you need to log in
How to fill an array in C?
#include <stdio.h> // Для printf
#include <string.h> // Для strtok
#include <locale.h> // Для русского языка
int main (void)
{
setlocale(LC_ALL, "Rus"); //русский язык
char str[40];
char sep [10]=" "; //сепаратор для разбиения
int i=-1;
char *istr;
FILE *myFile;
myFile = fopen("numbers.txt", "r");
if (myFile == NULL){
printf("Error Reading File\n");
exit (0);
}
fgets (str,sizeof(str),myFile); // получаем строку зи файла в переменную str
printf ("Числа из файла: %s\n", sep);
istr = strtok (str,sep);
while (istr != NULL)
{
++i;
printf ("%s\n",istr);
istr = strtok (NULL,sep);
}
return 0;
}
Answer the question
In order to leave comments, you need to log in
Solved the problem like this:
#include <stdio.h> // Для printf
#include <string.h> // Для strtok
#include <locale.h> // Для русского языка
int main (void)
{
setlocale(LC_ALL, "Rus"); //русский язык
char str[40];
char sep [10]=" "; //как будет разделять числа друг от друга, тут сделано пробелами, но можно и запятой ил идругим символом
int i=-1;
char *istr;
int a[40];
FILE *myFile; //объявление переменной файла
myFile = fopen("numbers.txt", "r"); //открытие файла с правами чтения
if (myFile == NULL){ //если файл отсутствует то ошибка
printf("Ошика чтения файла\n");
exit (0);
}
fgets (str,sizeof(str),myFile); // получаем строку зи файла в переменную str
printf("Числа в файле: %s\n", str); // выводим числа
istr = strtok (str,sep); //разделение чисел на пробелы
while (istr != NULL) //цикл while будет продолжаться до окончания строки
{
++i;
a[i]=istr; // присваивание элементу массива числа
istr = strtok (NULL,sep); // следующее число
}
printf("Первое число: %s\n",a[0]);
printf("Второе число: %s\n",a[1]);
printf("Предпоследнее число: %s\n",a[i-1]);
printf("Последнее число: %s\n",a[i]);
return 0;
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question