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

Проверка файла на наличие нецифроых символов

30.11.2019, 16:02. Показов 1865. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня в программе есть входной файл, в котором есть числа. Программа считывает эти числа и заносит их в массив. Как можно сделать проверку этого файла на то, есть ли в файле иные символы, кроме цифр? Т.е. чтобы в массив ничего не попадало кроме цифр.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2019, 16:02
Ответы с готовыми решениями:

Проверка на наличие файла
Подскажите пожалуйста как сделать проверку на файл.

Проверка на наличие файла
Добрый день. Подскажите вот такую проблему. Как сделать проверку на наличие файла? Мне нужно сделать так, если файл(conf.mysql)...

Проверка файла на наличие в папке
Доброго времени суток. Суть в чем: я создаю файл для записи и программа должна проверить, не существует ли уже случаем файл с таким именем....

6
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
30.11.2019, 16:09
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
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::string line;
 
    std::ifstream in("ваш файл");  
    if (in.is_open())
    {
        while (getline(in, line))
        {
            for (size_t i = 0; i < line.size(); i++)
            {
                if (!isdigit(line[i]))
                {
                    std::cout << "Не число\n";
                }
            }
        }
    }
    in.close();
    return 0;
}
0
0 / 0 / 0
Регистрация: 14.11.2019
Сообщений: 13
30.11.2019, 22:49  [ТС]
Цитата Сообщение от AndryS1 Посмотреть сообщение
while (getline(in, line))
        {
            for (size_t i = 0; i < line.size(); i++)
            {
                if (!isdigit(line[i]))
                {
                    std::cout << "Не число\n";
                }
            }
        }
Немного не пойму как работает эта часть кода
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
01.12.2019, 00:44
Цитата Сообщение от Bambuchka Посмотреть сообщение
Немного не пойму как работает эта часть кода
Мы берём строку в файле (getline()) записываем в line
потом пробегаемся по всем символам
если символ не цифра - вывести "Не число"

Ещё возможна ошибка из-за того что там будет \n символ
0
0 / 0 / 0
Регистрация: 14.11.2019
Сообщений: 13
01.12.2019, 18:19  [ТС]
Цитата Сообщение от Bambuchka Посмотреть сообщение
for (size_t i = 0; i < line.size(); i++)
Я правильно понял, что line.size() всегда будет равен 1?
0
Just Do It!
 Аватар для XLAT
4188 / 2642 / 654
Регистрация: 23.09.2014
Сообщений: 8,845
Записей в блоге: 3
01.12.2019, 19:42
Цитата Сообщение от Bambuchka Посмотреть сообщение
for (size_t i = 0; i < line.size(); i++)
по русски это будет звучать так:
C++
1
2
3
4
5
6
for (size_t i = 0; i < line.size(); i++)
// Для всех элементов контейнера line нужно сделать:
// (или более универсально: Сделать столько раз сколько элементов в контейнере line )
{
    // тут то что нужно сделать!
}
В вашем случае line в качестве элементов содержит строчные символы.
Количество этих символов можно узнать вызвав метод line.size()

А конкретно сколько их там будет уже зависит от семантики вашей программы.
0
0 / 0 / 0
Регистрация: 14.11.2019
Сообщений: 13
01.12.2019, 21:24  [ТС]
XLAT
Цитата Сообщение от Bambuchka Посмотреть сообщение
while (getline(in, line))
Я же правильно понял, что он пока все строки не пройдет, цикл не остановит? Т.е. например у меня в файле 15 строк по 1 символу. line.size() всегда будет равен единице это понятно. А цикл while пока 15 раз не пройдет, не остановится?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2019, 21:24
Помогаю со студенческими работами здесь

Посимвольное считывание из файла и проверка на наличие (+ показать количество операторов)
Условия задачи: Из файла необходимо считывать посимвольно (нельзя прочитать сразу весь файл или по строкам). Так же нельзя дублировать...

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

Ввести строку символов а)вручную, б)из файла и проверить ее на наличие латинских букв
Ни черта не понимаю в работе со строками, прошу помощи у данного форума Нужно: Ввести строку символов а)вручную, б)из файла и проверить...

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

Проверка на наличие символов
Как написать функцию которая проверяет наличие символов (A-Z, a-z, 0-9) в строке и если есть любые другие то ошибка?


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru