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

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

Войти
Регистрация
Восстановить пароль
 
Ирбиска
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 13
#1

Файлы - C++

31.05.2012, 08:27. Просмотров 416. Ответов 6
Метки нет (Все метки)

Напишите программу, которая принимает с клавиатуры название файла и выводит на экран пятидесятый символ этого файла. Если файл короче 50 символов, то сообщить об этом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 08:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файлы (C++):

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними - C++
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос. Почему при объявлении...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы? - C++
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Зачем нужно добавлять файлы в файлы исходного кода - C++
Зачем нужно добавлять файлы в файлы исходного кода (кроме main.cpp)? И как вызвать из main.cpp другой файл?

Заголовочные файлы и файлы cpp - C++
Со временем сложилось представление что при написании программ стоит разделять МЕТА данные и данные, но для лучшего понимания своих...

Раздельная компиляция: что помещать в заголовочные файлы, а что в файлы реализации (исходники)? - C++
Здравствуйте, я учусь пользоваться Visual Studio.Пишу программу, в которой создаются и разрушаются объекты, определенного пользователем...

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

6
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
31.05.2012, 09:12 #2
C++ (Qt)
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 <fstream>
#include <string>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE,"Russian");
    char ch;
    string fname;
    cin>>fname;
 
    fstream fin;
    fin.open((char*)fname.c_str(),fstream::in);
 
    if(!fin.is_open())
    {
        cout << "Нету такого файла!" << endl;
        return 1;
    }
 
    fin.seekg(0, fstream::end);
    streampos length = fin.tellg();
    fin.seekg(0, fstream::beg);
 
    if(length<50)
    {
        cout << "Слишком маленький файл!" << endl;
    }
    else
    {
       fin.seekg(50, fstream::beg);
       fin.get(ch);
       cout<<ch;
    }
 
    fin.close();
    return 0;
}
1
Ирбиска
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 13
31.05.2012, 09:27  [ТС] #3
defer, Спасибо огромное! А можешь обьяснить код?
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
31.05.2012, 09:32 #4
что именно не понятно?
0
Ирбиска
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 13
31.05.2012, 09:45  [ТС] #5
Желательно прямо построчно)

Добавлено через 4 минуты
defer, Разобралась) Спасибо)
0
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
31.05.2012, 09:50 #6
C++ (Qt)
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
42
43
44
45
46
47
48
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE,"Russian"); 
    char ch; //для 50-го символа
    string fname; //строка с именем файла
    cin>>fname; //записываем имя файла 
 
    fstream fin; //поток для файла
 
    //fin.open требует первым аргументом char* поэтому приводим string к char*   (char*)fname.c_str()
    fin.open((char*)fname.c_str(),fstream::in);
 
    //если файл не открылся
    if(!fin.is_open())
    {
        cout << "Нету такого файла!" << endl;
        return 1;
    }
 
    //идем в конец файла
    fin.seekg(0, fstream::end);
    //считаем сколько прошли
    streampos length = fin.tellg();
    //возвращаемся в начало
    fin.seekg(0, fstream::beg);
 
  
    if(length<50)
    {
        cout << "Слишком маленький файл!" << endl;
    }
    else
    {
      //идем к 50 символу
       fin.seekg(50, fstream::beg);
      //считываем его
       fin.get(ch);
       cout<<ch;
    }
    //закрываем файл
    fin.close();
    return 0;
}
1
-=ЮрА=-
Заблокирован
Автор FAQ
31.05.2012, 11:41 #7
Цитата Сообщение от Ирбиска Посмотреть сообщение
Напишите программу, которая принимает с клавиатуры название файла и выводит на экран пятидесятый символ этого файла. Если файл короче 50 символов, то сообщить об этом.
- Ниже крайне лаконичная и простая реализация
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
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    char str[51] = {0};//50 ñèìâîëîâ + '\0'
    char fName[256] = {0};
    cout<<"Enter file path : ";
    cin.getline(fName,255);//Ñ÷èòûâГ*ГҐГ¬ èìÿ ГґГ*éëГ*
    ifstream ifs(fName);
    if(!ifs.is_open())
        cout<<"Error open "<<fName<<endl;
    else
    {
        //Âîò ïðîñòî ГЁ ëåãêî ïûòГ*åìñÿ Г±Г·ГЁГІГ*ГІГј ñòðîêó Гў 50 ñèìâîëîâ
        ifs.read(str,50);
        ifs.close();
        if(str[49] == 0)
            cout<<"File length less than 50 chars\n";
        else
            cout<<"50-th symbol in file : "<<str[49]<<endl;
    }
    system("pause");//Ñòîï-òî÷êГ* Гў ïðîãðГ*ììå
    return 0;
}
25chars.txt 1231454fdgdfgddfgfdhfg84
55chars.txt fhgjfhkjhg4j4.,l4h84l5djdjf4kghkfk4lhl;48kj;l8544A8fdh
1
Миниатюры
Файлы   Файлы  
31.05.2012, 11:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2012, 11:41
Привет! Вот еще темы с ответами:

Файлы.Текстовые файлы - C++
Считая t текстовым файлом (файлом типа text), ответить на следующие вопросы: А)Кроме текстовых файлов,файлы какиъ еще типов могут...

ФАЙЛЫ - C++
задача: в файле заменить все символы наиболее длинного слова на * я набросал: main() { FILE* fp1,*fp2; int k,t,x,l,b,y; ...

Файлы - C++
Подскажите идею сортировки в файле через структруру,слов по длине.Сижу не могу сделать никак может как нибудь с помощью функции qsort.Не...

Файлы в С - C++
Напишите, пожалуйста, программу для копирования содержимого одного файла в другой файл в обратном порядке (на С).


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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