|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
|
Кодировка русских букв в MacOS12.01.2011, 19:45. Показов 16393. Ответов 14
Метки нет (Все метки)
здравствуйте,
пишу программу на си под макосью, в качестве компилятора использую Xcode, возникает проблема с кодировкой русских букв. например, программа, выводящая ASCII-код символа при вводе русской буквы выводит отрицательный результат, при этом при вводе с клавиатуры выдаётся другой результат, нежели при чтении из файла как заставить компилятор адекватно воспринимать русские буквы ?
0
|
|
| 12.01.2011, 19:45 | |
|
Ответы с готовыми решениями:
14
Кодировка русских букв в посте Кодировка русских букв
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 13.01.2011, 00:18 | |
|
yellowpuki, опиши подробнее, что ты делаешь. Желательно вместе с текстом программы.
0
|
|
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
||||||
| 13.01.2011, 19:29 [ТС] | ||||||
|
например, вот программа:
по ней два вопроса: по поводу кодировки, и второй по поводу чтения из файла последней строки. когда если удалить из конца программы цикл последний, который, собственно, повторяет первый, то последняя строка выводится не будет. я так понимаю, что программа не может опознать, чем строка заканчивается, не видит eof как это исправить, а то уж очень некрасиво ?
0
|
||||||
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 13.01.2011, 20:03 | |
|
По поводу кодировки — перекодируй файл в кодировку с однобайтовыми символами, например, KOI8-R (Xcode и TextEdit это умеют).
А вот программу не понял. В частности, не понимаю, что происходит в строках №№ 52 и 63.
0
|
|
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
|
| 13.01.2011, 20:52 [ТС] | |
|
52 строчка ftell(f) указывает на позицию указателя в файле, чтобы следующая строка, считываемая в массив из файла была именно следующей, а не опять первой
а 63 строчка значит считывать из файла, собственно, до конца файла
0
|
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 13.01.2011, 21:20 | |
|
yellowpuki, насколько мне известно, функции «ftell» и «feof» не изменяют состояние передаваемого им параметра, а только возвращают некий результат. Следовательно, «ftell(f);» просто не имеет смысла, а «while (!feof(f));» — бесконечный цикл, если только «f» уже не указывает на конец файла.
Ну либо я чего-то не понимаю. Можешь описать задание?
0
|
|
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
|
| 13.01.2011, 22:23 [ТС] | |
|
производя чтение из файла неограниченного количества слов, записанных в строку и разделённых пробелами, запятыми, табуляциями, определить, есть ли там слова, содержащие только гласные второго рода, т.е. е, ё, ю, я, и вывести эти слова на экран
Добавлено через 1 минуту программа работает, только с кодировками я так и не справился - после того, как сделал KOI-R, программа при запуске вообще ничего не делает, а если вернуть обратную маковскую кириллицу, то снова работает
0
|
|
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 12
|
|||||||||||
| 13.01.2011, 22:45 | |||||||||||
|
по поводу while (!feof(f)) могут возникнуть всякие траблы...
вообще лучше использовать while (fgets(...) == NULL) а потом уже фигачишь, то, как он у тебя считывает параметры k ну я хз Добавлено через 5 минут у меня вот допустим было
первую выводил правильно, а вторая была копией третьей. У меня всего их 3 в файле было. я замутил так:
но почему он у меня тогда копировал строки?))
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
||||||
| 13.01.2011, 23:42 [ТС] | ||||||
|
я не силён во всём этом пока что)
то есть просто вместо while(!feof(f)) написать while(fgets(c, 256, f)==NULL) ? по крайней мере единственная проблема в том, что он не считывает последнюю строку, и мне очень хотелось бы это исправить, ибо выглядит не по-божески как-то лишний цикл в конце ) Добавлено через 2 минуты аа код не заметил щас у себя попробую чо-нить подобное Добавлено через 9 минут спасибо, последнюю строку теперь считывает без дополнительного цикла )) Добавлено через 37 минут опять проблема вот код
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 12
|
|
| 14.01.2011, 05:07 | |
|
А каково содержимое файла?)
0
|
|
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
|
| 14.01.2011, 12:33 [ТС] | |
|
яблоко, паштет юла
ёлка, knfknя якорь яяя уке eaiepюююddd Добавлено через 36 секунд ну только кроме пробелов есть ещё парочка табуляций, но тут они не отображаются
0
|
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
||||||
| 14.01.2011, 13:13 | ||||||
|
yellowpuki, я бы решил твою задачу вот так (чтение искомых символов я пропустил, потому что это у тебя уже есть):
0
|
||||||
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
|
| 14.01.2011, 13:21 [ТС] | |
|
спасибо, конечно, но блин, меня вполне устриавает моё решение, за исключением последнего слова..
всё же почему его не считывает программа?
0
|
|
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
| 14.01.2011, 23:15 | |
|
yellowpuki, читать текст программы с неговорящими именами переменных очень трудно, поэтому сложно сразу сказать, в чём причина.
Кстати, ftell ты так и оставил на месте, хотя в твоём случае это совершенно бессмысленная вещь.
0
|
|
|
0 / 0 / 0
Регистрация: 12.01.2011
Сообщений: 11
|
||||||
| 15.01.2011, 14:36 [ТС] | ||||||
|
убрал ftell и куда надо добавил feof, и всё заработало)
0
|
||||||
| 15.01.2011, 14:36 | |
|
Помогаю со студенческими работами здесь
15
Кодировка русских букв.
Кодировка и вывод русских букв Неправильная кодировка русских букв из эксель
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
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 .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|