Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209

Считать несколько символов (цифр) из файла и преобразовать их в число

22.12.2014, 20:32. Показов 9934. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Предположим у меня есть массив, в котором у первого элемента значение 1, у второго значение 2, у третьего значение 3.Так вот как сделать так чтобы эти символы были одним числом, т.е. 123
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2014, 20:32
Ответы с готовыми решениями:

Нужно считать с файла определенное число символов и эти символы удалить из файла
Нужно считать с файла определенное число символов и эти символы удалить из файла

Считать строку из txt-файла Unicode и преобразовать ее в число - это реально?
Допустим у вас в txt-файле несколько чисел: 309 5 512 Если бы файл был в кодировке ANSI: 1) Вы считали строчку с помощью...

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

15
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 20:43  [ТС]
Предположим у меня есть файл, в котором мне необходимо считать три первых символа(цифры)и затем мне их надо будет использовать как число.Как это сделать?

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <fstream>
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
int main()
{
    FILE*f;
    int n,i,b,k;
    f=fopen("F:\\cppstudio.txt","rb+");
    rewind(f);
    fseek(f,0,SEEK_SET);
    fread(&b,sizeof(int),3,f);
    printf("\n%c\n",b);
    getchar();
    getchar();
}
вот здесь в зависимости от того какую я укажу позицию будет выводиться элемент.но мне необходим,чтобы все эти цифры выводились,т.к. в дальнейшем их надо использовать как целостное число

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
int main()
{
    FILE*f;
    int n,i,b,k;
    char ch[3];
    f=fopen("F:\\cppstudio.txt","rb+");
    k=0;
    do
    {
    fseek(f,k,SEEK_SET);
    fread(&b,sizeof(int),3,f);
    printf("%c",b);
    k++;
    
} while (k<3);
    getchar();
    getchar();
}
все сделала

Добавлено через 20 минут
только как эти три симола преобразовать в одно целостное число?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
22.12.2014, 20:43
http://rextester.com/WHK63758

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Title of this code
 
#include <iostream>
#include <string>
 
int main()
{
    std::cout << "Hello, world!\n";
    
    
    const char ar[] = "123";
    
    
    ::std::cout << ::std::stoul(ar)<<::std::endl;
}
0
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 20:47  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
int main()
{
    FILE*f;
    int n,i,b,k;
    char ch[3];
    f=fopen("F:\\cppstudio.txt","rb+");
    k=0;
    do
    {
    fseek(f,k,SEEK_SET);
    fread(&b,sizeof(int),3,f);
    printf("%c",b);
    k++;
    
} while (k<3);
    getchar();
    getchar();
}
а как например вот это преобразовать в единое число?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.12.2014, 20:49
Цитата Сообщение от Дарья1997 Посмотреть сообщение
только как эти три симола преобразовать в одно целостное число?
Символы как в файле расположены? Подряд? Через пробел? По одному в строке?
0
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 20:52  [ТС]
подряд расположены, и мне надо считать эти три первых символа,но эти символы как бы единое число.(но вот может еще быть тот случай,если вперед стоят незначащие нули, вот как мне получить просто тупо одно число из эти трех символов
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.12.2014, 20:57
Или это не символы? Данные бинарно записаны? И эти данные символы? Или числа (int-ы)?

Добавлено через 1 минуту
Данные в файле текстовые или бинарные?

Добавлено через 3 минуты
Цитата Сообщение от Дарья1997 Посмотреть сообщение
подряд расположены, и мне надо считать эти три первых символа,но эти символы как бы единое число.(но вот может еще быть тот случай,если вперед стоят незначащие нули, вот как мне получить просто тупо одно число из эти трех символов
Расскажите историю вопроса. Если это задание, то полный текст задания.
0
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 21:00  [ТС]
это текстовые данные

Добавлено через 2 минуты
дан символьный файл содержащий текст зашифрованный по следующему принципу :текст был записан в квадратную матрицу а затем прочитан по спирали начиная с центра(против часовой стрелки) размер матрицы хранится в символьном виде в первых трех символах файла написать программу расшифровывающую текст из файла текст вывести на экран.
вот полное задание
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.12.2014, 21:04
Почему код на Си пишите? С++ не знаете, или так нужно?
0
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 21:06  [ТС]
на с++ нужно,просто что сделать понимаю, а как это реализовать не особо,поэтому приходится пользоваться разными источниками и использовать что есть.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.12.2014, 21:14
Если файл символьный, то просто читаете первые три символа (символьными методами, а не бинарными, как у вас) в массив char str[4] (если чтение в цикле, по одному символу, то четвёртым добавьте '\0', если функциями, которые это сами делают (getline()), то не нужно). Потом передаёте этот массив в функцию atoi(), которая выдаст вам число, состоящее из этих трёх цифр.
0
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 21:15  [ТС]
а вы не могли бы с кодом помочь?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.12.2014, 21:21
Цитата Сообщение от Дарья1997 Посмотреть сообщение
а вы не могли бы с кодом помочь?
Конкретный файл существует, или это всё теоретически?
0
2 / 2 / 3
Регистрация: 05.10.2014
Сообщений: 209
22.12.2014, 21:22  [ТС]
теоритически
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
22.12.2014, 21:34
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
using namespace std;
 
int main() {
    char s[4]="123";
    int n;
    ifstream fin("input.txt");
    fin.get(s,4);
    n=atoi(s);
    cout << n << endl;
    fin.close();
    return 0;
}
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
22.12.2014, 21:43
Лучший ответ Сообщение было отмечено Дарья1997 как решение

Решение

Вот вам и код. Немного добавлю. Предположим, в файле:
237asdewrkdls
sdfkekwjdklsldl
C++
1
2
3
4
5
6
7
8
9
10
11
12
    ifstream fin("1.txt");
    if (!fin)
    {
        cout << "Error!" << endl;
        cin.get();
        return 0;
    }
 
    char str[4];
    fin.get(str, 4);
    int n = atoi(str);
    cout << n << endl;
Миниатюры
Считать несколько символов (цифр) из файла и преобразовать их в число  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2014, 21:43
Помогаю со студенческими работами здесь

Как считать определённое количество цифр заданного числа (считать число до заданной цифры)?
как считать число 12345 до символа 5? То есть 1234 присвоить другой переменной?.:wall:

считать вещественное число и преобразовать его в научный вид
Далее будет представлена программа которая считывает вещественное число и преобразовывает его в научный вид .586p Masm model use16...

Как преобразовать строку в обратном порядке ,но по несколько символов ,а не всю
есть строка допустим 1234567890 из нее надо получить такое : 9078563412

Считать натуральное число, преобразовать в шестнадцатеричное и вывести в виде восьмиричного
Напишите программу, которая считывает натуральное число, а затем преобразуются в виде шестнадцатеричного числа и выводит восьмеричное число!

Дана строка символов, состоящая из букв и цифр. Вывести на экран число, состоящее их цифр данной строки
Дана строка символов, состоящая из букв и цифр. Вывести на экран число, состоящее их цифр данной строки.


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru