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

Считать строку из файла и найти позицию заданного символа (непонятный символ в строке)

07.08.2016, 12:38. Показов 2614. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть у меня вот такая вот строка

181x77х1

Лежит в файле. Я ее считываю и хочу найти позицию символа 'x'
не получается.

Решил что возможно это русский символ, но тоже не нашло.

В итоге решил перевести string в инт и посмотерть какой код у этого 'x' и какие коды у русских и английских "икс" и "ха"

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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    ifstream IStr("file.txt");
    string table[200][7];
    int CountStr=0;
 
    for(; !IStr.eof() ; CountStr++){
        for(int j=0; j<7 ; j++){
            IStr>>table[CountStr][j];
        }
    }
 
    int o=table[CountStr-10][1][3];// символ, который лежит в файле
    int p='x';// английская х
    int u='х';// русская х
 
    cout<<o<<endl   // -11
        <<p<<endl   // 120
        <<u;        //53637
        
    return 0;
}
теперь вопрос) так что же это все таки за символ
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.08.2016, 12:38
Ответы с готовыми решениями:

Найти в строке позицию заданного символа
Помогите кто чем может нужно составить программку в паскале в ассемблере, Чтобы можно было найти в строке позицию заданного символа, и...

Ввести строку и слово. Найти позицию заданного слова в строке
Помогите решить проблему с программой #include &lt;stdio.h&gt; #include &lt;string.h&gt; int check(char *w1, char *w2){ int i=0; int a=0; ...

Определить в строке позицию заданного символа
Определить в строке позицию заданного символа (Через рекурсии). Подскажите как сделать?

13
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
07.08.2016, 13:07
А в HEX редакторе почему не посмотреть?
0
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 76
07.08.2016, 13:17  [ТС]
Не понял, не знаю, не умею

Расскажете? Как это в хекс редакторе узнать символ? Это представление символа в шестнадцатеричном виде? но зачем это? Мне бы его на клавиатуре набрать, чтобы в коде я смог написать .find('x'), а то приходится сравнивать код символа со значением -11 , а это както каряво))))


ААА и еще. Я в Excel ввел именно английский символ "икс", затем скопировал это в блокнот и считал эту строку в код, так почему же в коде это уже не английский символ "икс" а нечто другое?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.08.2016, 13:26
Цитата Сообщение от Фарад Посмотреть сообщение
так что же это все таки за символ
Какой у Вас чудесный код...

Вам легче было сразу файл исходный выложить.

Цитата Сообщение от Фарад Посмотреть сообщение
Как это в хекс редакторе узнать символ?
Для этого не нужны никакие HEX-редакторы даже. Открываете файл блокнотом обычным, и смотрите - есть ли там действительно этот "икс". Если есть - открываете поиск (ctrl+F) и ищите сначала английский "икс", потом русскую "ха". Какая из этих букв найдется та и есть...

Но файл все же выложите...
0
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 76
07.08.2016, 13:35  [ТС]
Смотрите, я же это делал) на картинке я выделяю и показываю вам что этот непонятный символ все же есть в том блокноте. Теперь я ищу русскую "ха" . Ничего не находит. Английскую "икс". Тоже ничего не находит. Что это тогда такое)

Даже в коде я перевел в инт этот символ , а у него код -11, это как так вообще) отрицательный код символа О_о
Миниатюры
Считать строку из файла и найти позицию заданного символа (непонятный символ в строке)  
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.08.2016, 13:38
Цитата Сообщение от Фарад Посмотреть сообщение
Ничего не находит
Плохо ищите.

Я еще раз повторю - файл выложите. Или фрагмент файла. Не надо скриншот - я не могу с него скопировать текст.

Только прикрепленным файлом. При копировании текста форум может исправить кодировку.
0
 Аватар для HenryDukart
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
07.08.2016, 13:45
Цитата Сообщение от Фарад Посмотреть сообщение
Даже в коде я перевел в инт этот символ , а у него код -11, это как так вообще) отрицательный код символа О_о
char (обычно) — знаковый тип.
0
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 76
07.08.2016, 13:45  [ТС]
Вот
Вложения
Тип файла: txt 1.txt (17 байт, 3 просмотров)
0
 Аватар для HenryDukart
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
07.08.2016, 13:47
Фарад, а букву "И" (да и все остальные) вы можете найти? Шаманьте с кодировкой.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.08.2016, 13:48
Лучший ответ Сообщение было отмечено zss как решение

Решение

Цитата Сообщение от Фарад Посмотреть сообщение
Вот

Первый символ это английская "икс", второй - русская "ха". Так что не знаю как Вы искали Может быть каретку нужно было перенести в начало файла.

Притом что кодировка обычная (windows-1251), то есть действительно 1 символ = 1 байт.

А вот код у Вас странноватый..

Наверное дело в том что русская "ха" это 0xF5. А тип char максимум 128. Наверное нужно преобразовывать в unsigned char.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.08.2016, 14:00
Фарад, скопировал Ваш код, приложил к нему Ваш файл, исправил 10 строку с конца на нужную, вот результат:
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main(int, char**)
{
    ifstream IStr(R"(C:\Users\pav1uxa\Downloads\1.txt)");
    string table[200][7];
    int CountStr=0;
 
    for(; !IStr.eof() ; CountStr++){
        for(int j=0; j<7 ; j++){
            IStr>>table[CountStr][j];
        }
    }
 
    //int o=table[CountStr-10][1][3];// символ, который лежит в файле
    int o=table[CountStr-1][1][3];// символ, который лежит в файле
    int p='x';// английская х
    //int u='х';// русская х
 
    //cout<<o<<endl   // -11
    //    <<p<<endl   // 120
    //    <<u;        //53637
 
    cout<<o<<endl    // 120
        <<p<<endl;   // 120
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 76
07.08.2016, 14:02  [ТС]
Что за магия, у меня теперь тоже нашло О__О аххаха, ладно, найти в блокноте то оно нашло, окей, что тогда выходит?

В блокноте английская буква икс. Это мы уже проверили. Давайте же теперь ее считаем и в самой программе сравним является ли он иксом. Совпадений нет. ......

Почему же))))
Миниатюры
Считать строку из файла и найти позицию заданного символа (непонятный символ в строке)  
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.08.2016, 14:05
Цитата Сообщение от Фарад Посмотреть сообщение
Почему же))))
Я Вам выше показал что это английская икс. Смотрите скриншот и код.

А как Вы там код меняете я не знаю и что за файл Вы читаете.

Сами попробуйте скопировать код, который я выложил и применить к файлу, который выложили Вы и посмотрите результат.
0
0 / 0 / 0
Регистрация: 06.08.2016
Сообщений: 76
07.08.2016, 14:13  [ТС]
Спасибо, все из-за моей невнимательности.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2016, 14:13
Помогаю со студенческими работами здесь

Определить позицию самого правого вхождения заданного символа в строку
Здраствуйте! Помогите пожалуйста решить задачи. Проблема с процедурами, не могу понять их. ПОмогите пожалуйста!!!1. Составить процедуру...

Определить позицию самого правого вхождения заданного символа в исходную строку
Помогите пожалуйста Составить функцию, позволяющую определить позицию самого правого вхождения заданного символа в исходную строку. Если...

Процедура. Определить позицию самого первого вхождения заданного символа в исходную строку

Процедура: определить позицию самого правого вхождения заданного символа в исходную строку
Задание: Составить процедуру, позволяющую определить позицию самого правого вхождения заданного символа в исходную строку. Если строка не...

Функция, определяющая позицию самого первого вхождения заданного символа в исходную строку
Прошу помочь решить задачки!:(очень нужно (Билет №25) Составить функцию, позволяющую определить позицию самого первого вхождения...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru