Не удаётся открыть файл с помощью std::ifstream

322
27 ноября 2017, 18:53

Привет, не найду костыль. Хочу свою функцию для чтения/записи файлов, но оно не хочет считывать .(Не удалось открыть файл). Что не так? За ранее спасибо!

#include<iostream>
#include<fstream>
#include<stdlib.h>
#define N 2
#define M 3
using namespace std;
class matr
{
    float x[N][M];
public:
    void vvod(char *S);
    void vivod(char *S);
    friend matr operator+(matr &a, matr &b);
};
void matr::vvod(char *S)
{
    ifstream ifs(S);
    if(ifs)
    {
        cout<< "Не открылся файл " << S << '\ n';
        exit(1);
    }
    for(int i=0; i<N; i++)
        for(int j=0; j<M; j++)
            ifs >> x[i][j];
}
void matr::vivod(char *S)
{
    ofstream ofs(S);
    for(int i = 0; i <N; i ++)
        for(int j = 0; j <M; j ++)
            ofs<< x[i][j];
}
matr operator+(matr &a,matr &b)
{
    matr z;
    for (int i=0; i<N; i++)
        for (int j=0; j<M; j++)
            z.x[i][j] = a.x[i][j]+b.x[i][j];
    return z;
}
int main()
{
    setlocale(0,"Russian");
    matr v, w, q;
    v.vvod("v.txt");
    w.vvod("w.txt");
    q = v+w;
    q.vivod("q.txt");
}
Answer 1

Вы же не то проверяете!

if(ifs) 

это проверка, что все в порядке! А вы сразу пишете, что ошибка...

READ ALSO
Доступ к структуре через unsigned char

Доступ к структуре через unsigned char

Пусть есть структура S следующего вида:

327
strict aliasing и реальные компиляторы

strict aliasing и реальные компиляторы

Сразу же оговорюсь: я уважаю стандарт :) "Закон есть закон" (с) Фердинанд Пасторелли

221
Заголовочный файл для структур C++

Заголовочный файл для структур C++

Как создать правильно создать заголовочный файл для структур? Пытаюсь так, не выходит: structuresh

235
Задача на массивы по OpenMP

Задача на массивы по OpenMP

Написать программу, в которой объявлен массив из 16000 элементов и инициализирован так, что значение элемента массива равно его порядковому...

394