Тема: СИ
Показать сообщение отдельно

  #18  
Старый 21.05.2009, 20:47
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

2 fker ихмо я круче

Код:
#include "stdlib.h"
#include "stdio.h"
#include "malloc.h"

int main(int argc, char * argv[]) {
FILE * f;
size_t buflen = 0,
result = 0,
si = 0;
unsigned char * buffer,
ch;

char num[10][10] = {
"nol",
"odin",
"dva",
"tri",
"chet",
"pat",
"shest",
"sem",
"vos",
"dev"
};

f = fopen("test.txt", "rb");
if (f == NULL) {
printf("Error open!");
return 1;
}

fseek(f, 0, SEEK_END);
buflen = ftell(f);
rewind(f);

buffer = (unsigned char * ) malloc(buflen);
if (buffer == NULL) {
printf("Memory error\n");
return 2;
}
result = fread(buffer, 1, buflen, f);
if (result != buflen) {
printf("Reading error\n");
return 3;
}

while (si < buflen) {
if (buffer[si] == '.') {
putc(buffer[si], stdout);
putc(0x0A, stdout);
}
else {
ch = buffer[si] - 0x30;

if (ch >= 0 && ch <= 9) {
printf("%s", num[ch]);
}
else {
putc(buffer[si], stdout);
}
}
si++;
}

free(buffer);

fclose(f);

getchar();

return 0;
}

Последний раз редактировалось Gar|k; 21.05.2009 в 20:50..
 
Ответить с цитированием