1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
||||||
1 | ||||||
Написать свои функции работы со строками аналогичные функциям из <string.h>05.11.2011, 18:37. Показов 8822. Ответов 31
Метки нет (Все метки)
надо было написать свои функции работы со строками аналогичные функциям из <string.h>
проверьте, пожалуйста:
не разобрался с функцией strtok(), чет не получилось даже просто использовать её..
0
|
05.11.2011, 18:37 | |
Ответы с готовыми решениями:
31
Есть ли в С# функции, аналогичные функциям WinAPI? Как на php реализовать функции аналогичные функциям броузера 'назад', 'обновить' и др.? ВопросЫ по функциям для работы со строками с++ Работа со строками. Функции работы со строками |
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
05.11.2011, 19:13 | 2 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Сообщение от softmob
такой в языке нет
Сообщение от softmob
Сообщение от softmob
то же самое по поводу записи нуль-символа в конце (как в mstrcpy() ) в strcmp() обычно возвращается разность символов
Сообщение от softmob
приводи в операторе return в mstrchr() если первый символ - тот, который нужен, а больше таких нет, то функция вернёт NULL у тебя там и в mstrpbrk() такая же ошибка фигурирует вообще, в mstrpbrk() слишком много букв и она запутанная делай её без вызовов каких-либо функций функцию mstrspn() перепутал с mstrcspn() не понимаешь, как работает функция strcspn() в функции mstrstr() вычисление несколько раз одного и того же занимает больше времени
1
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
|||||||||||
05.11.2011, 20:45 [ТС] | 3 | ||||||||||
accept, спасибо.
исправленная версия:
почему же работает?
функция strspn() возвращает индекс первого символа в строке str1, который не совпадает ни с одним из символов в строке str2. по этому описанию и делал. strcmp() в VS с++ возвращает 1/0/-1..
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
05.11.2011, 21:29 | 4 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Код
[guest@localhost tests]$ gcc -Wall t.c -o t t.c: В функции ‘main’: t.c:9:5: предупреждение: неявная декларация функции ‘strset’ /tmp/ccGbNFpd.o: In function `main': t.c:(.text+0x42): undefined reference to `strset' collect2: выполнение ld завершилось с кодом возврата 1 [guest@localhost tests]$ но в posix 1003.1 их тоже нет
Сообщение от softmob
по функциям языка см здесь
Сообщение от softmob
Код
4.11.5.6 The strspn function Synopsis #include <string.h> size_t strspn(const char *s1, const char *s2); Description The strspn function computes the length of the maximum initial segment of the string pointed to by s1 which consists entirely of characters from the string pointed to by s2 . Returns The strspn function returns the length of the segment. твоя функция якобы для strspn(), которая на самом деле для strcspn(), делает не то она проверяет первый символ, не содержится ли он во второй строке, и если он не содержится, то возвращает ноль 1) её название происходит от слова span, поэтому ноль она возвращает, когда не может растянуться (охватить) вообще 2) она не должна останавливаться на первом символе, если там есть ещё подходящие
Сообщение от softmob
msdn. strcmp (это не стандарт, но здесь то же самое)
1
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
|||||||||||||||||||||||||||||||
05.11.2011, 22:27 [ТС] | 5 | ||||||||||||||||||||||||||||||
я не переводил, брал из интернета.
strcspn()
Пример Следующая программа выводит число 6.
strspn()
Пример Эта программа выводит число 11.
во всяком случае mstrspn() и strspn()/mstrcspn() и strcspn() выдают одинаковый результат
ну а 1/0/-1 разве не больше нуля/равно/меньше нуля? так что ли
0
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
||||||
05.11.2011, 22:43 [ТС] | 7 | |||||
0
|
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
|
|
05.11.2011, 22:49 | 8 |
1
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
|
05.11.2011, 22:56 [ТС] | 9 |
ну во всяком случае в вопросах к
лабе
Характеристика операций над символьными данными, обеспечиваемых библиотечными функциями С и алгоритмы их работы:
strlen( ) - определение длины строки; strset( ) - заполнение строки заданным символом; strnset( ) – заполнение части строки заданным символом; strcpy( ) – копирование строки в строку; strcat( ) – соединение (конкатенация) строк; strcmp( ) – сравнение двух строк; strtok( ) – поиск и выделение лексических единиц в строке; strchr( ) – поиск заданного символа в строке; strpbrk( ) – поиск первого вхождения символа из шаблона в строке strspn( ) – определение длины начальной части строки-шаблона, которой нет в исследуемой строке; strstr( ) – поиск подстроки в строке (по образцу). Для указанных функций по алгоритмам составить программную реализацию.
0
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
||||||
05.11.2011, 23:18 [ТС] | 11 | |||||
strrchr() в нем нет, эт не ко мне вопрос)
за 2 месяца пока ток синтаксис и некоторые функции дали. подойдет ли "Язык программирования C. Брайан Керниган, Деннис Ритчи" для ознакомление со стандартом?
0
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
|
05.11.2011, 23:31 [ТС] | 13 |
с strtok() помоги разобраться, из списка ток её не сделал. чет не понял даже как просто пользоваться ей..
0
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
05.11.2011, 23:49 | 14 |
1
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
||||||
06.11.2011, 17:30 [ТС] | 15 | |||||
вроде работает..
какие еще функции работы с строками неплохо бы разобрать?
0
|
Заблокирован
|
||||||
06.11.2011, 18:06 | 17 | |||||
Я все ваши функции внимательно не смотрел, но сразу же бросается в глаза, что у вас некорректно определена функция mstrcmp
Об этом в том числе говорится и в стандарте, что символы в этой функции должны сравниваться как символы, имеющие тип unsigned char.
1
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
|||||||||||||||||||||||||||||||
06.11.2011, 18:47 [ТС] | 18 | ||||||||||||||||||||||||||||||
strncat(),
strncpy(),
strncmp()
strcspn()
и strlcpy()
0
|
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
|
||||||
06.11.2011, 19:14 [ТС] | 20 | |||||
какие еще будут замечания?
функции работы со строками
0
|
06.11.2011, 19:14 | |
06.11.2011, 19:14 | |
Помогаю со студенческими работами здесь
20
Создать класс String для работы со строками Создайте класс String для работы со строками Разработать класс String для работы со строками Разработать класс String для работы со строками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |