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

Функция для работы с файлом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напишите функцию которая находит корни квадратного уравнения ax^2+bx+c=0 http://www.cyberforum.ru/cpp-beginners/thread1091468.html
Напишите функцию которая находит корни квадратного уравнения ax^2+bx+c=0 и записывает результат в переменные типа double, передаваемые по ссылке. В случае отсутствия корней или ввода неправильных данных (a=0) функция выводит на экран соответствующие сообщения об этом. Так же функция выводит сообщение, если корни уравнения одинаковы. #include <iostream> #include<cmath> using namespace std; ...
C++ Как в visual studio 10 сделать кнопку на форме? сделал форму в visual studio 10.а как сделать пару кнопок? http://www.cyberforum.ru/cpp-beginners/thread1091458.html
C++ Нужно сделать что бы давало рандомно числа и нужно написать ответ
В командной строке. Тоесть примерно так: Запускаешь программу, показывает числа что выбрались рандомно : 15*3=? После этого пользователю нужно написать ответ сколько будет 15*3 и если правильно то напишет правильно если нет то не правильно
Подскажите правильно ли реализована программа решения уравнения? C++
необходимо решить задачу такую: \frac{du}{dt}=u(1-u-rv)+\frac{{d}^{2}u}{{dt}^{2}}\frac{dv}{dt}=-buv+\frac{{d}^{2}v}{{dt}^{2}} вот код. использую явную схему. скажите правильно ли это? #include <iostream> #include <cmath> #include <fstream> #define a -30.0 //левая граница отрезка #define b 30.0 //правая граница отрезка
C++ Сгенерировать матрицу 100х100 http://www.cyberforum.ru/cpp-beginners/thread1091430.html
пожалуйста помогите.Как сделать матрицу к примеру:100*100 ,чтоб ее не нужно было вводить с клавиатуры, рандом с случайными числами не подходит, числа должны идти от 0.
C++ Сортировки. Неизвестное обозначение Здравствуйте. Читаю тему про сортировки(говорят, что сортировки очень важная вещь в программировании) и там встречаются непонятные обозначения. Что означают такие записи в общем и в каждом конкретном виде: O(n^2) O(n log n) O(n) подробнее

Показать сообщение отдельно
Димферон
3 / 3 / 2
Регистрация: 06.02.2014
Сообщений: 14
07.02.2014, 19:43  [ТС]     Функция для работы с файлом
Тут фишка в том, что файл в котором считаются строки задан не явно, то есть пользователь сам задает путь к файлу (его имя).
Цитата Сообщение от Димферон Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
if(!fin.is_open()) 
{ return -1; } 
while (!fin.eof()) 
{ 
   fin.getline(str,250);
    size_t len_1 = strlen(str); 
    while (len_1 != 0) 
   {
      SumStr++; 
   } 
} 
fin.close();
почему я сделал так? Проста мне точно нужно узнать есть ли вообще в строки символы (чтобы ее засчитать), поэтому я и использую strlen()

Добавлено через 9 минут
Меня в общем интересует только ошибка, из-за который у меня не передается в переменной имя файла, которое должно восприниматься ifstream`ом..

Добавлено через 7 минут
Вот вообще как выглядит программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <cmath>
#include <iostream>
#include "conio.h"
#include "time.h"
#include <iomanip>
#include <ctype.h>
#include <string>
#include <cstring>
#include <Windows.h>
#include <fstream>
#include "Lib01LaS.h"
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    char CPP[250] = "\0";
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите название файла."<<endl;
    cout<<"Имя файла:";cin>>CPP;
    int len = strlen(CPP);
    CPP[len+1] = '\0';
    int summ_lines = SumLines(CPP, len);
    if (summ_lines == -1)
    {
        system("cls");
        cout<<"***Выбранного файла не существует!***"<<endl<<
            "Проверьте правельность введенного имени файла или пути к файлу."<<endl;
    }
        cout<<"В файле "<<summ_lines<<" строк."<<endl;  
    system("pause");
    return 0;
}
C++
1
2
3
4
//Lib01LaS.h : Расчет количества строк и символов в программе
#define const int max_len = 250;
int SumLines(char filename[], int len);
int SumSimvol(char* filename);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//Lib01LaS.cpp : определение функций
#include "stdafx.h"
#include <string>
#include <iostream> 
#include <iomanip>
#include <cstring>
#include <Windows.h>
#include "conio.h"
#include "stdlib.h"
#include <cstdlib>
#include <fstream>
#include <stdio.h>
#include "Lib01LaS.h"
using namespace std;
 
char Name_file_us[250] = "\0";
int SumLines(char filename[], int len)
{ 
    for (int i = 0; i < len; i++)
    {
        Name_file_us[i] = filename[i];
    }
    ifstream fin(Name_file_us, ios::in);
    int SumStr = 0;
    char str[250]="\0";
    if(!fin.is_open())
    {       
        return -1;
    }
    while (!fin.eof())
    {
        fin.getline(str,250);
        size_t len_1 = strlen(str);
        while (len_1 != 0)
        {
            SumStr++;
        }
    }
    fin.close();
    return SumStr;
}
Добавлено через 17 минут
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru