Запись строки из файла в массив - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите в простой задачке. Нужно из файла найти строку по части введенного имени и записать эту строку в массив. строка определённого формата. Пример: Файл 1.txt > Мясо = 100 Яйца = 250 при вводе слова мясо нужно в массив отдельно записать в первый элемент "мясо" во второй "100" проблему решил, но посимвольно, а мне нужно именно строку разделить на части до и после равно и записать в массив...
на правах Up
Со строкой и первым элементом разобрался. Как от имеющейся строки отнять другую строку. Пример: Васе 10 лет есть часть строки "Васе" как получить строку "10 лет"? общительные все...
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main()
{
    FILE * fp;
    char * delimiters=" ;";
    char str[100], *result, *str_ffile;
    char * file = "D:/full_ccal.txt";
    fp = fopen( file, "r" );
    str_ffile = fgets( str, 100, fp );
    int len = strlen( str_ffile );
    int pos=0;
    while(len>pos)
    {
        result = strtok(str_ffile, delimiters);
        pos = pos + strlen( result ) + 1;
        if( *result )
        {
          printf( " | %s", result );
          result += strlen( result ) + 1;
        }
    }
    fclose( fp );
}
подскажите что не так? выводит все время первый элемент строки...

Решение задачи: «Запись строки из файла в массив»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main(){
    FILE * fp;
    char * delimiters="vase";
    char str[100], *result;
    char * file = "full_ccal.txt";
    fp = fopen( file, "r" );
    fgets( str, 100, fp );
    result = strstr(str, delimiters);  
    result+=strlen(delimiters);
    if(result )
        printf( "%s", result );
    fclose( fp );   
    getch();
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и строками.
  2. Объявление переменных:
    • fp - указатель на файл, который будет открыт для чтения;
    • delimiters - строка-разделитель, используемая для разделения данных в файле;
    • str - массив символов, в который будет записана строка из файла;
    • result - указатель на подстроку в массиве str, которая будет обрезана и выведена на экран.
  3. Открытие файла с помощью функции fopen. Файл будет открыт для чтения (режим r).
  4. Чтение строки из файла с помощью функции fgets в массив str.
  5. Поиск строки-разделителя в массиве str с помощью функции strstr.
  6. Обрезка подстроки, начиная с найденного разделителя и до конца строки.
  7. Закрытие файла с помощью функции fclose.
  8. Ожидание нажатия клавиши с помощью функции getch.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы