Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> определить кодировку 
:(
    Опции темы
andzhik
Дата 25.4.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.4.2010

Репутация: нет
Всего: нет



задание написать на насме из под линя прогу определяющую кодировки всех тхт-файлов(кодировки СР866 и кои8) в текущей директории.написал прогу на С для последующего дизассемблирования(только для одного файла).все на окнах работало, а вот под линём не работает.подскажите,пожалуйста,как переписать.

Код

#include <stdio.h>
int main()
{
unsigned char *simvol;
int file;
int ascii_kod=0,i=0,j=0,fl_KOI8=0,fl_CP866=0,n;
unsigned char ms[100]={0};
char* ERROR_MESSAGE="fail ne soderzhit simvolov kirillicy";
file=open("kodddddd.txt",0);
if(file==-1)
{
write(1,"Ne mogu otkryt fail",19);
return -1;
}
while(i<100)
{
if((n=read(file,simvol,1))!=0)
{
if(n==-1) {write(1,"oshibka chteniya faila",22);return -1;}
ascii_kod=*simvol;
if((ascii_kod>=128)&&(ascii_kod<=255))
{
ms[i]=*simvol;
i++;
}
}
else goto start;
}
start:
for(j=0;j<i;j++)
{
ascii_kod=ms[j];
if((ascii_kod>=192)&&(ascii_kod<=255)) fl_KOI8++;
if(((ascii_kod>=128)&&(ascii_kod<=175))||((ascii_kod>=224)&&(ascii_kod<=239))) fl_CP866++;
}
if(i==0) write(1,ERROR_MESSAGE,36);
else
{
if(fl_KOI8==i) write(1,"KOI8 kodirovka",14);
if(fl_CP866==i) write(1,"CP866 kodirovka",15);
}
return 1;
}


ЗЫ если кто может подскажите как определить текущую директорию(говорили юзать getdents), я пробовал только readdir(не пойму что в  getdents передавать).
ЗЫЫ еще просьба написать че вводить в командной стороке дабы получить из С-ишного кода ассемблерный.

M
MAKCim
Модератор: используйте тег код!


PM MAIL   Вверх
MAKCim
Дата 26.4.2010, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(andzhik @  25.4.2010,  22:33 Найти цитируемый пост)
ЗЫ если кто может подскажите как определить текущую директорию

man 3 getcwd
man 3 get_current_dir_name


Цитата(andzhik @  25.4.2010,  22:33 Найти цитируемый пост)
ЗЫЫ еще просьба написать че вводить в командной стороке дабы получить из С-ишного кода ассемблерный. 

Код

# gcc -S <C файл>



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andzhik
Дата 26.4.2010, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.4.2010

Репутация: нет
Всего: нет



извиняюсь:безбожно наврал, что меня интересует определение текущей директории.требуется получить имена всех файлов в ней лежащих...
getcwd, get_current_dir_name
как я понимаю это функции библиотеки С...мне же(т.к. задачу надо реализовать на ассемблере) необходимо использовать только системные вызовы(getdents либо readdir)...с риддиром понятно, хотелось бы разобраться с getdents-ом.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.