1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Чтение из файла

Тема в разделе "Общие вопросы по С и С++", создана пользователем Naper214, 11 апр 2010.

  1. Naper214

    Naper214 Гость

    Репутация:
    0
    Подскажите пожалуйста.
    Есть такая програмка:

    Код (Text):
    #include <stdafx.h>
    #include <stdio.h>
    #include <math.h>

    void main()
    {
    FILE *result;
    float a,b;
    int i,N;

    result=fopen("result.txt","w+");
    printf("Enter number of pairs:\n");
    scanf("%d",&N);
    printf("Enter pairs of numbers:\n");
    for(i=0; i<N; i++)
    {
    scanf("%f", &a);
    scanf("%f", &b);
    fprintf(result,"%f %f\n", a, b);
    }

    fclose(result);
    }
    Как в ней же организовать считывание из файла result.txt пар чисел(идущих подряд естесственно) и записи их в 2 переменные?
     
  2. zeus

    zeus Гость

    Репутация:
    0
    Для считывания из фала используйте fscanf
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">пример</div></div><div class="sp-body"><div class="sp-content">
    Код (C++):
    #include <stdio.h>

    void main(void)
    {
    FILE *f=fopen("result.txt", "r");

    if (f)
    {
    float a,b;
    int N = 0;

    while ( !feof(f) )
    {
    fscanf(f, "%f", &a);
    fscanf(f, "%f", &b);
    ++N;
    } // while

    fclose(f);
    } // if
    } // main
    Но хорошие парни пишут вот так:
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">TrueCode)))</div></div><div class="sp-body"><div class="sp-content">
    Код (C++):
    #include <fstream>
    using namespace std;

    void main(void)
    {
    ifstream f("result.txt");

    if (f)
    {
    float a,b;
    int N = 0;

    while ( !f.feof() )
    {
    f >> a >> b;
    ++N;
    } // while

    f.close();
    } // if
    } // main
     
  3. Sekt

    Sekt Гость

    Репутация:
    0
    Код (C++):
    int a;
    while(1){
    if(sizeof(int)!=fread(&a,sizeof(int),1,f))
    break;
    else
    printf("%d",a);
    }
    Или исп fgets для символов и потом символ преобразуйте в число.
     
Загрузка...

Поделиться этой страницей