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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rayvol
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 46
#1

"Перегнать" код из С в С++ (через fstream) - C++

12.06.2012, 20:30. Просмотров 283. Ответов 3
Метки нет (Все метки)

Добрый день. Нужна помощь "перегнать" код из С на С++ через fstream.
Задание таково:
Описать функцию TextSize(Name) целого типа, возвращающую число строк в текстовом файле с именем Name. Если файл не существует, то функция возвращает -1.
Код:

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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
 
int TextSize(FILE *Name);
 
int main()
{
    FILE *Name = fopen("C:\\Name.txt", "r");
 
    int x = TextSize(Name);
    if(x == -1)
        cout<<"File not found" << endl;
    else
    {
        cout << "Kol-vo dtrok v file = " << x << endl;
        fclose(Name);
    }
    system("PAUSE");
    return 0;
}
 
int TextSize(FILE *Name)
{
        if (!Name) return -1;
        int kol=0;
 
        char str[1000];
 
        while (!feof(Name))
        {
            fgets(str, sizeof(str), Name);
            kol++;
        }
 
        return kol;
 
}
Заранее благодарен за помощь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2012, 20:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос "Перегнать" код из С в С++ (через fstream) (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей"; - C++
Помогите пожалуйста с задачей. Могу сделать ее просто, но надо через ООП и у меня не получается. Дано натуральное число N (N&lt;20),...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout - C++
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов- справочник телефонный, с именем и фамилией. ...

Код ошибки при вызове функции через "system" - C++
Операционная система типа Unix. Вызываю команду mount через system: system(&quot;mount /mnt/floppy&quot;). В случае ошибки, результат system...

Ошибка "error C4430: missing type specifier" при работе с fstream - C++
Добрый день. Работаю над сохранением и загрузкой файлов. Для этого использую библиотеку &lt;fstream&gt;, создаю обьект класса fstream. А...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
12.06.2012, 20:59 #2
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 <iostream>
#include <fstream>
 
using namespace std;
 
int TextSize(ifstream&);
 
int main()
{
    ifstream Name("C:\\Name.txt");
 
    int x = TextSize(Name);
    if(x == -1)
        cout<<"File not found" << endl;
    else
        cout << "Kol-vo dtrok v file = " << x << endl;
    //system("PAUSE");
    return 0;
}
 
int TextSize(ifstream& Name)
{
    if (!Name) return -1;
    int kol=0;
    char ch = '\0';
    while(1)
    {
        Name.get(ch);
        if(Name.eof())
        {
            ++kol;
            break;
        }
        if(ch == '\n') ++kol;
    }
    return kol;
}
1
Rayvol
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 46
12.06.2012, 21:06  [ТС] #3
Цитата Сообщение от rakota Посмотреть сообщение
C++
1
2
3
4
#include <iostream>
#include <fstream>
 
}
Хорош! Спасибо
0
rakota
12.06.2012, 21:10     "Перегнать" код из С в С++ (через fstream)
  #4

Не по теме:

Пожалуйста, обращайтесь ещё

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2012, 21:10
Привет! Вот еще темы с ответами:

Как принять код клавиши, а вписать саму клавишу? (Принимает "57", что означает "9") - C++
Нужно избавиться от такой глупости: char ch = 0; if(ch=='1')mas=1; if(ch=='2')mas=2; if(ch=='3')mas=3; ...

Что означает "Программа "[4872] laba!.exe: Машинный код" завершилась с кодом 3 (0x3)."? - C++
при запуске кода компилятор пишет &quot;Программа &quot; laba!!!!!!.exe: Машинный код&quot; завершилась с кодом 3 (0x3).&quot; и появляется окошечко с ошибкой....

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL" - C++
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в &quot;код операции&quot;; обнаружено...

чем отличается вызов объекта через "." и через "->" - C++
Здравствуйте. Вот создал топик для тех, кто желает сам познать С++, но у которых есть вопросы по базовым знаниям. Начну с вопроса:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.06.2012, 21:10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru