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

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

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

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

12.06.2012, 20:30. Просмотров 279. Ответов 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;
 
}
Заранее благодарен за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2012, 20:30     "Перегнать" код из С в С++ (через fstream)
Посмотрите здесь:

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

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

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

Написать код шифрования методом "Змеиный" и "Спиральный" - C++
весь интернет перерыл, не могу найти ничего нормального, если кто может или знает напишите хоть ссылки, срочно нужно

Кто поможет вкратце описать код "Определитель матрицы"? - C++
Желательно строки которые обозначены плюсом и всю функцию determ(что в ней происходит)? #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Переписать код без использования операций сдвига и "битового and" - C++
как переписать (num &amp; ((1) &lt;&lt; k)) != 0не используя операцию &amp; и &lt;&lt;? Помогите, пожалуйста!

Как, каким образом "скомпилировать" код для С или С++? - C++
Как, каким образом &quot;скомпилировать&quot; код для С или С++? Как лучше всего это сделать?

Код, приведеном в книге "С++ за 21 дней. Либерти Джесс" не работает - C++
Здравствуйте. Я новичок в деле программировании, так что, пожалуйста, относитесь ко мне к пониманию. Купил книгу &quot;С++ Освой самостоятельно...

Прошу помочь. Как в Borland C++ 6 Bulder запустить программный код "Си" ? - C++
Чего-то у меня не получается. Или на каком либо компиляторе писать?

Отсортировать struct. (дайте тест, который "сломает" мой код) - C++
Выведите фамилии и имена учащихся в порядке убывания их среднего балла. Входные данные Заданы сначала количество учащихся n, затем n...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rakota
35 / 35 / 1
Регистрация: 05.02.2012
Сообщений: 76
12.06.2012, 20:59     "Перегнать" код из С в С++ (через fstream) #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;
}
Rayvol
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 46
12.06.2012, 21:06  [ТС]     "Перегнать" код из С в С++ (через fstream) #3
Цитата Сообщение от rakota Посмотреть сообщение
C++
1
2
3
4
#include <iostream>
#include <fstream>
 
}
Хорош! Спасибо
rakota
12.06.2012, 21:10     "Перегнать" код из С в С++ (через fstream)
  #4

Не по теме:

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

Yandex
Объявления
12.06.2012, 21:10     "Перегнать" код из С в С++ (через fstream)
Ответ Создать тему
Опции темы

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