Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.08.2018
Сообщений: 1

Считывание символов из файла

12.08.2018, 22:32. Показов 896. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте! Начинаю знакомство с программированием, помогите разобраться с задачей:
Необходимо из файла прочитать первые семь символов, сравнить его с рядом неких эталонных значений, по результатам которого осуществить перенос файла в соответствующую директорию. Например, файл с первыми семью символами "реклама" нужно переместить из искомой директории "Documets"в требуемую "Реклама".
На чем остановился:

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 <iostream>
#include <fstream>
using namespace std;
 
int main (int argc, char * argv[])
{
  satlocale(0, "");
  
  char ch;
 
  ifstream file ("C:\\Documents\\File_001.txt", ios:in | ios::binary);
 
  if(!file)
  {
  cout << "Не удается открыть файл!";
  cin.ignore();
  }
 
  file.seekg(0);       
  char str[8]={0};
  file.read(str, 7);    // Считываю первые семь символов из файла
  cout << str;         // Вывожу для проверки
 
  file.close();
  cin.ignore();
}
Понимаю, что дальше необходимо сравнить считанные данные с помощью if()/else(), но не знаю, как правильно это оформить.
Заранее спасибо за помощь, советы и конструктивную критику!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.08.2018, 22:32
Ответы с готовыми решениями:

Считывание символов с файла
Нужна программ которая считывала бы буквы с файла и выводила их количество. Попробовал сделать. Но мне вместо суммы выдает на каждый символ...

Считывание символов с файла.
привет. задача состоит в том, что бы заполнить файл любыми символами, а потом там найти определенное слово. например в файле написано:...

Считывание символов из файла
Здравствуйте, прошу у Вас помощи в вопросе считывания данных из файла. - Есть файл, в котором записана зашифрованный текст, в нем...

2
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.08.2018, 13:32
Так файл текстовый или нет? Если текстовый, то убери binary и считывай с помощью getline(). В 16-й должен быть return.
Цитата Сообщение от Cyber Beginner Посмотреть сообщение
необходимо сравнить считанные данные
strcmp().
0
5 / 5 / 1
Регистрация: 20.07.2018
Сообщений: 24
13.08.2018, 14:22
Можешь использовать библиотеку <cstring> , которая работает с строками С-вида , но это может обратиться плохо для читабельности и дальнейшего понимания кода.Функция strcmp,которая находиться внутри данной библиотеки, сравнивает два массива символов и возвращает 0,если строки равны.Для реализация можно применять библиотеку как-то так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstring>
 
int main()
{
    char str[] = "somestring";
    if(!strcmp(str,"reklama"))
        std::cout << "some actions\n";
    else if(!strcmp(str,"somestring"))
        std::cout << "another actions\n";
    return 0;
}
Выглядит не очень естественно и ужасно.

Второй вариант - применить библиотеку <string> , которая реализует одноименный класс string. Тогда потребуется преобразовать char[8] в string,получив взамен удобный интерфейс :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main()
{
    char str[8] = "reklama";
    std::string sstr = str;
 
    if(sstr=="reklama")
        std::cout << "some actions\n";
    else if(sstr=="somestring")
        std::cout << "another actions\n";
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.08.2018, 14:22
Помогаю со студенческими работами здесь

Считывание символов из файла
Почему если из файла считывать несколько символов вместо одного, то символы считываются только до конца строки? Как нормальным способом...

Считывание ЛЮБЫХ символов из файла
Дорого времени суток! Проблема заключается в следующем: Есть криптоалгоритм который шифротекст вставляет в txt файл. После этот файл...

Считывание русских символов из файла
Всем привет Не получаеться считать русские символы из файла в переменную типа string. Я пишу лабораторную работу в университет и из-за...

Считывание русских символов из файла WinApi
У меня есть массив name в котором хранится имя файла в формате D:\... Этот файл с текстом на русском языке. Первое слово -...

Последовательное считывание нескольких символов из файла
Здравствуйте. Нужен способ, позволяющий посчитать частоту встречаемости последовательности в тексте, например, абваба в аабвабабваба -...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period. Это. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru