Форум программистов, компьютерный форум CyberForum.ru

Чтение файла fscanf() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вектора векторов http://www.cyberforum.ru/cpp-beginners/thread1001919.html
Помогите пожалуйста устранить ошибку при создании трехмерного массива с помощью векторов. Вроде все сделал как надо и вектор векторов прописал. Но только теперь если я ввожу с клавиатуры разные значения для элементов массива (высота, толщина, время), например "7,6,5" то приложение при выполнении вылетает с ошибкой. А если ввожу все одинаковые размеры, например "10,10,10", то все ок и печатает как...
C++ С++.Операторы в С++: условные операторы, операторы break и continue Выяснить, пересекаются ли параболы у=аx2+bx+с и у=dx2+ex + f. При положительном ответе найти точки пересечения. http://www.cyberforum.ru/cpp-beginners/thread1001909.html
Вычислить площадь S равнобедренного треугольника, вписанного в окружность радиуса R C++
29)Вычислить площадь S равнобедренного треугольника, вписанного в окружность радиуса R, если известна длина La его стороны, не равная длинам других сторон. Найти также длины других сторон треугольника и угол A между ними.
C++ Ерунда с виртуальной функцией
Есть такой код: class Warrior{ protected: string name; float hp; float maxhp; float dmg; float ms; float as;
C++ С ++.системы счисления http://www.cyberforum.ru/cpp-beginners/thread1001902.html
8.Написать программу для перевода чисел из десятичной в восьмеричную систему счисления
C++ С ++. Сортировки 4.Написать программу, осуществляющую сортировку отбором одномерного массива. подробнее

Показать сообщение отдельно
nedsi
2 / 2 / 0
Регистрация: 18.09.2013
Сообщений: 65
08.11.2013, 19:27     Чтение файла fscanf()
Доброго вечера!
Если бы в файле были просто значения, в смысле :
10 10 50 90
30 30 50 10
60 29 10 22
и т.д. сделал так: (работает правильно)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
 
 
using namespace std;
 
int main()
{
    FILE* fp;
    fp = fopen("E:\\data.txt","r");
    int x1,y1,x2,y2;
    while (!feof(fp))
    {
        fscanf(fp,"%d %d %d %d",&x1,&y1,&x2,&y2);
        cout<<x1<<" "<<y1<<" "<<x2<<" "<<y2<<"\n";
    }
    fclose(fp);
    system("pause");
    return 0;
}
Теперь есть файл с такими данными:
Rect1 : x1 = 10 y1 = 10 x2 = 50 y2 = 80
Rect2 : x1 = 120 y1 = 120 x2 = 250 y2 = 250
Rect3 : x1 = 320 y1 = 40 x2 = 380 y2 = 180
Rect4 : x1 = 80 y1 = 370 x2 = 190 y2 = 240
Rect5 : x1 = 20 y1 = 70 x2 = 150 y2 = 90
Как проигнорировать символы? Или нужно отлавливать знак '=' и считывать значение?Благодарю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru