Friday, August 27, 2010

УДИВЛЕНИЕ!

Открыть текстовый файл:

fsrc = fopen(argv[1],"rt");

Определить его размер:

long fsize(FILE *f)
{
long pos, end;
pos = ftell(f);
fseek(f,0,SEEK_END);
end = ftell(f);
fseek(f,pos,SEEK_SET);
return end;
}


Выделить памяти:

long src_size = fsize(fsrc);
char *buf = new char[src_size+1];

Зачитать в нее собственно текст:

fread(buf,src_size,1,fsrc);

Последний символ файла не ноль, поэтому пририсовываем к буферу ноль и дальше работаем с ним, как с длинной строчкой текста:

buf[src_size] = 0;
parser.add_source(buf);

Потом обнаруживается, что в конце буфера 304 байта мусора, и потом собственно ноль, который я туда написал. То есть текста считалось из файла на 304 байта меньше, хотя размер файла определяется верно.

Я-то знаю, почему это так.

Tuesday, August 10, 2010

я негодую!


в тундерберде, в линуксе, не работают ctrl+c ctrl+v, когда включена русская раскладка.
еклипс путает одинаково названные файлы из разных папок.

back to the roots

Дома я книги читаю только только утром и только в туалете. У меня там есть альманах фантастики "Полдень 21-й век", книга о бытовом подвиге советских матросов 67 года издания и, с недавнего времени, винни пух в пересказе заходера.
Так вот винни пух круче альманаха фантастики в тысячу раз примерно (потому что в свой альманах Борис Натанович отбирает какую-то сраную морализаторскую графоманскую нудятину) и в три раза круче, чем бытовой подвиг советских матросов (потому что матросы по любому поводу устраивают политсобрания).

...Экспедиция подошла к речке, которая весело вертелась и кувыркалась среди высоких каменистых берегов, и Кристофер Робин сразу оценил обстановку.
- Это как раз подходящее место для засад.
- Какой сад? - шепнул Пух Пятачку. - Может, там малина есть?
- Дорогой мой Пух, - сказала Сова покровительственным тоном, - неужели ты не знаешь даже, что такое засада?
- Сова, - сказал Пятачок, строго посмотрев на нее, - Пух ведь не с тобой шептался, а со мной, и совершенно необязательно было тебе...
- Засада, - сказала Сова, - это вроде сюрприза.
- Малина иногда тоже, - сказал Пух.
- Засада, как я собирался объяснить Винни-Пуху, - сказал Пятачок, - это вроде сюрприза.
- Если на тебя внезапно наскочат, это называется засадой, - сказала Сова.
- Засадой, Пух, называется, когда на тебя внезапно наскочат, - объяснил Пятачок.
Пух, который теперь уже знал, что такое засада, сказал, что однажды куст малины наскочил на него внезапно, когда он, Пух, падал с дерева, и ему пришлось потом целую неделю вытаскивать колючки.
- Никто не говорил о малине, - довольно сердито сказала Сова.
- Я же говорил, - сказал Пух.


А еще может мне кто-нибудь объяснить, почему на игрушках по-английски пишут "не для детей младше 3 лет", а по-испански "не для детей младше 36 месяцев" ?

Sunday, August 8, 2010


зашел вчера купить лука и чипсов в фог-сити. бреду понуро между полок. где-то тут должны быть памперсы... поднимаю голову и вижу такой стеллаж, между памперсами и прокладками, на котором чуть ли не весь ассортимент украiнского вiнного завода массандра. купил четыре бутылки сразу. думаю, что надо будет купить еще. но цены конечно.. в два раза выше чем были раньше.