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

Замен стандартной функции stricmp

19.12.2011, 16:24. Показов 5903. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Средствами языка Си реализовать функцию работы со строками. функция должна учитывать особенности кодировки кириллицы в DOS и Windows
Вот мои наработки:
C++
1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h> 
#include<ctype.h> 
int stricmp(char *s, char *t) { 
for (; tolower(*s)==tolower(*t); s++, t++) 
if(*s == '\0') return (0); 
return(*s-*t); 
} 
void main(){ 
char *s="ABCC", *t="abcCD1"; 
printf("%d\n",stricmp (s,t)); 
getchar();
Почему то не работает сравнение, если в строке есть русские символы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2011, 16:24
Ответы с готовыми решениями:

Написать две пользовательские функции, эквивалентные стандартной функции strlen
Написать программу, содержащую две пользовательские функции определения длины строки, эквивалентные стандартной функции strlen. Первая из...

Продемонстрировать работу стандартной функции
char *strncpy(char *s1, const char *s2, size_t n); Копирует не более n символов из строки s2 в s1 и возвращает s2.

Насчет стандартной функции time()
Есть маленький вопрос, ответ на который не получается найти: Как вывести на экран текущее значение времени с помощью функции тайм, чтобы...

14
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
19.12.2011, 16:28
Цитата Сообщение от Alekssey Посмотреть сообщение
в строке есть русские символы
А коддировку кто менять будет?) У вас же не линукс
0
2 / 2 / 1
Регистрация: 11.12.2010
Сообщений: 59
19.12.2011, 16:33  [ТС]
Не понял, эта функция может работать только с латиницей?

Может напишите ваш вариант, для замены стандартной функции stricmp?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 17:09
Цитата Сообщение от Alekssey Посмотреть сообщение
Замен стандартной функции stricmp
А она точно стандартная??? Ссылочку не кинете?
0
2 / 2 / 1
Регистрация: 11.12.2010
Сообщений: 59
19.12.2011, 17:50  [ТС]
она есть в библиотеке string.h
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 17:52
Alekssey, да ладно, http://www.cplusplus.com/refer... y/cstring/ , и где же она там... Эх помог бы Вам, но Вы сами этого не хотите
0
2 / 2 / 1
Регистрация: 11.12.2010
Сообщений: 59
19.12.2011, 18:05  [ТС]
ладно, давайте не будем углубляться в содержимое библиотек, формулировка задания просто может немного некорректна:
Средствами языка Си реализовать функцию работы со строками. Сравнить работу функции со стандартной функцией Си (файл string.h) Ваша функция должна учитывать особенности кодировки кириллицы в DOS и Windows!
stricmp – сравнение двух строк, игнорируя регистр символов
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 18:15
Цитата Сообщение от Alekssey Посмотреть сообщение
stricmp – сравнение двух строк, игнорируя регистр символов
Стандартной функции stricmp в srting.h нет. Когда будете писать свою пользуйтесь
C++
1
#include <ctype.h>
http://www.cplusplus.com/refer... ry/cctype/
0
2 / 2 / 1
Регистрация: 11.12.2010
Сообщений: 59
19.12.2011, 18:18  [ТС]
а они с русскими символами работают?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 18:22
Alekssey, или пиши в линуксе, или меняй кодировку. Русские шрифты в консоли
0
2 / 2 / 1
Регистрация: 11.12.2010
Сообщений: 59
19.12.2011, 19:39  [ТС]
ясно, значит программно это не решить(
Может как то можно перекодировать саму строку, и потом сравнить?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
19.12.2011, 19:45
Alekssey, Можно) Использовать класс locale к примеру с нужным фасетом.
0
2 / 2 / 1
Регистрация: 11.12.2010
Сообщений: 59
19.12.2011, 19:55  [ТС]
Хм... не думал что все так сложно будет.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
19.12.2011, 20:13
Цитата Сообщение от Alekssey Посмотреть сообщение
Средствами языка Си
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно) Использовать класс locale к примеру с нужным фасетом.
А в Си есть классы?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
19.12.2011, 20:44
go, Очевидно нет. Пропустил я как-то что тут про Си разговор. Можно iconv подключить, если не нужна кроссплатф.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2011, 20:44
Помогаю со студенческими работами здесь

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

Ошибка в определении стандартной API функции
Переписываю Бота по уроку из Ютьюба. Сейчас первый тест бота. Суть - найти в окне приложения определенный цвет пикселя и поместить туда...

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

'stricmp' undeclared (first use this function)
Пытаюсь откомпилировать такой код из книги &quot;С++ для чайников&quot;: // DataSet - store associated data in // an array of...

Написать собственную реализацию стандартной функции strstr
Написать собственную реализацию стандартной функции strstr. предназначена для поиска строки strCharSet в строке string. Возвращается...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru