1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

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

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

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

  1. Naper214

    Naper214 Гость

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

    Код:
    #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">
    Код:
    #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">
    Код:
    #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
    Код:
    int a;
    while(1){
    if(sizeof(int)!=fread(&a,sizeof(int),1,f))
    break;
    else
    printf("%d",a);
    }
    Или исп fgets для символов и потом символ преобразуйте в число.
     
Загрузка...

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