From: |
Eugene Muzychenko 2:5000/14 |
05 Apr 2018 23:27 +0300 |
To: |
Andrei Dzedolik 2:463/1331 |
|
Subject: |
sizeof(char)
|
Привет!
05 Apr 18 17:55, you wrote to All:
AD> char *buff = malloc(N*sizeof(char));
AD> Как на ваш взгляд, имеет ли это хоть какой-то смысл?
В этом - нет. Смысл есть в чем-нибудь вроде
char *buff = malloc (N * sizeof (*buff));
Смысл в том, чтобы при изменении типа правке подвергалось минимальное
количество элементов текста.
Если планируется когда-либо менять тип, то лучше сразу ставить вместо char
что-нибудь вроде char_t, TCHAR и подобного.
Всего доброго!
Евгений Музыченко
eu-gene@muzy-chen-ko.net (все дефисы убрать)
From: |
Nil Alexandrov 2:5015/46 |
05 Apr 2018 22:14 +0300 |
To: |
Andrei Dzedolik 2:463/1331 |
|
Subject: |
sizeof(char)
|
Hello, Andrei!
Thursday April 05 2018 17:55, from Andrei Dzedolik -> All:
AD> Что думает многоуважаемый All по поводу конструкции sizeof(char),
AD> скажем, при malloc буфера под строку, т.е.:
AD> char *buff = malloc(N*sizeof(char));
AD> Как на ваш взгляд, имеет ли это хоть какой-то смысл?
http://www.cs.technion.ac.il/users/yechiel/c++-faq/sizeof-char.html
sizeof(char) всегда 1, никогда не будет 2.
Там в этом факе ещё много вокруг этого есть.
Best Regards, Nil
From: |
Andrei Dzedolik 2:463/1331 |
05 Apr 2018 20:55 +0300 |
To: |
All |
|
Subject: |
sizeof(char)
|
Greetings, travelers ...
Пятничеего флейма ради, а не то, что вы подумали ;)
Что думает многоуважаемый All по поводу конструкции sizeof(char), скажем, при
malloc буфера под строку, т.е.:
char *buff = malloc(N*sizeof(char));
Как на ваш взгляд, имеет ли это хоть какой-то смысл?
\aID
From: |
Mihail Kapitanov 2:467/239.1 |
29 Mar 2018 22:03 +0300 |
To: |
Valentin Nechayev 2:463/68.300 |
|
Subject: |
fgets/fputs
|
Hello Valentin!
29 Mar 18 17:58, you wrote to me:
MK>> компилятора. От MS Visual Studio и mingw (опенсорс). Все
MK>> остальное влючая Borlad C давно признано маргинальщиной.
VN> Hа основе GCC есть и другие, например TDM-GCC - клон MinGW:
VN> https://sourceforge.net/projects/tdm-gcc/
2015-07-02 пациент кажется метрв
VN> Так что я бы говорил о трёх основных компиляторах (пусть два и
VN> пакуются одинаково).
Ну так то да. Под офтопом в мейнстриме поделка от мс, мингв-в64(гцц) и
восходящая звезда шланг. :) Нужно глянуть спек, Qt под офтоп уже собирается
шлангом или все еще visualc/mingw.
Mihail
... macOS 10.13.3 (17D102) Darwin 17.4.0
From: |
Valentin Nechayev 2:463/68.300 |
29 Mar 2018 17:58 +0300 |
To: |
Mihail Kapitanov 2:467/239.1 |
|
Subject: |
fgets/fputs
|
Hi,
>>>> Mihail Kapitanov wrote:
MK> Сейчас, если не ошибаюсь, под Windows два мейнстримовых компилятора.
MK> От MS Visual Studio и mingw (опенсорс). Все остальное влючая Borlad C
MK> давно признано маргинальщиной.
Hа основе GCC есть и другие, например TDM-GCC - клон MinGW:
https://sourceforge.net/projects/tdm-gcc/
его автоматически подтягивают, например, CodeLite, Code::Blocks
(эти среды слабоваты, конечно, но не компилятором).
LLVM предоставляет сборки Clang под Windows, ему обычно ставится в дополнение
тот же mingw-w64 для докомплектации заголовков/библиотек (или есть сборки на
основе mingw с уже встроенным Clang, например, от MSYS2).
Часто слышу про варианты подключать Clang к Visual Studio.
Так что я бы говорил о трёх основных компиляторах (пусть два и пакуются
одинаково).
-netch-
... Разве я осмелился бы предложить даме водки? Это же чистейший спирт!
From: |
Mihail Kapitanov 2:467/239.1 |
28 Mar 2018 14:54 +0300 |
To: |
Den Grigoriev 2:5005/49.3 |
|
Subject: |
fgets/fputs
|
Hello Den!
28 Mar 18 07:34, you wrote to me:
MK>> mingw64?
DG> Да что-то его разработка затихла. Последний релиз аж четыре года назад
DG> был.
mingw - да, а вот mingw-w64 живой еще и как. У меня ласт 7.3.0 от 2018-03-24.
Очень даже активный.
DG> Думаю - как раз связано с бесплатизацией поделия от MS.
mingw-w64 что бы название не вводило в заблуждение есть как в 32 так и в 64
редакции.
https://sourceforge.net/projects/mingw-w64/
Mihail
... macOS 10.13.3 (17D102) Darwin 17.4.0
From: |
Mihail Kapitanov 2:467/239.1 |
28 Mar 2018 14:52 +0300 |
To: |
Vitaliy Geydeko 2:5064/54.2 |
|
Subject: |
fgets/fputs
|
Hello Vitaliy!
28 Mar 18 03:46, you wrote to me:
MK>> mingw? Так это просто компилятор. Ну как консльная утилита.
VG> разберемся. а редактор там есть. очень удобно когда редактор
VG> подсвечивает строки с ошибками.
Ну я, например, использую Qt Creator. Достаточно удобный, быстрый, легкий,
молодежный. :) С mingw работает, ошибки подсвечивает. Не на яве ROFL.
Mihail
... macOS 10.13.3 (17D102) Darwin 17.4.0
From: |
Vitaliy Geydeko 2:5064/54.2 |
28 Mar 2018 07:11 +0300 |
To: |
Konstantin Simonov 2:466/466.104 |
|
Subject: |
fgets/fputs
|
Привет, Konstantin!
28 Мар 18 06:07, ты писал(а) мне:
VG>> во входном файле, который копируется.
VG>> ржать будешь?
VG>> информация действительно содержит '/' (название пенси в винампе)
VG>> но плагин первую строчку копирует без нее вторую с ним.
VG>> глаза находят слеш во второй строчке и все.
KS> Не знаю, что за файлы у винампа, но вот та же программка, которая уже
KS> приводилась, только построчно копирует один текстовый файл в другой.
Я нашел плагин который записывает что ты слушаешь в текстовой файл
но он делает две строчки. мне нужна первая, а в ней как раз таки того символа
нет
он во второй, там тоже самое, но еще номер трека и сообщение о статусе winamp
а это мне не надо.
[...skipped...]
KS> Перед записью можно вставить проверку и писать только нужные строки.
да все в порядке с моим кодом.
KS>>>>> Так оконные и консольные программы довольно разные.
VG>>>> там другие функции?
KS>>> Функции само собой другие в части ввода/вывода,
KS>>> там разная и структура программы.
VG>> ой ма.
KS> Так в консольной программе ты весь интерфейс делаешь сам, а в оконной
KS> используешь готовые заготовки из Windows API у которого своя специфика
KS> на структуру программы.
понятно
VG>> Я на работе писал на Microsoft C 6.0 / потом приехал в гости один
VG>> фидошник
VG>> и дал содрать диск с ваткомом. Потом я "потерял" винт. качал уже
VG>> с торренс ру.
VG>> потом опен ватком.
KS> У меня сложнее. Начинал в студенческие годы c Алмир на МИР-1/МИР-2,
KS> на работе PL/1 на ЕС ЭВМ (IBM/360 потом IBM/370), когда появились
KS> персоналки, по требованию заказчика надо было писать на C, взял Turbo
KS> C 2.0, это было намного удобней майкрософтовского. Потом пришлось
KS> немного повозиться с Watcom C на MicroPC. Делать что-то гуевое под
KS> Windows желания не было, поэтому для консольных программ взял уже
KS> знакомый Watcom.
Я для ноды кое что написал. на нем
KS> Сейчас, вероятно, надо брать Bloodshed DEV-C, там MinGW,
KS> но разбираться с чем-то новым... :(
угу (
Vitaliy
... np:МИХАИЛ САНИН - СЧАСТЬЕ (6)
From: |
Konstantin Simonov 2:466/466.104 |
28 Mar 2018 06:07 +0300 |
To: |
Vitaliy Geydeko 2:5064/54.2 |
|
Subject: |
fgets/fputs
|
Hello, Vitaliy!
VG>>>>>>> но символ / почему-то глотается
KS>>>>>> Какой символ глотается?
VG>>>>> слеш
KS>>>> Так бы и писал '/'. :)
KS>>>> Он в файле или где?
VG>>> в исходном файле
VG> во входном файле, который копируется.
VG> ржать будешь?
VG> информация действительно содержит '/' (название пенси в винампе)
VG> но плагин первую строчку копирует без нее вторую с ним.
VG> глаза находят слеш во второй строчке и все.
Не знаю, что за файлы у винампа, но вот та же программка, которая уже
приводилась, только построчно копирует один текстовый файл в другой.
#include
void main(void)
{
FILE* f_in;
FILE* f_out;
char buff[1024];
f_in = fopen("file1.txt","rt");
f_out = fopen("file2.txt","wt");
while(fgets(buff,1024,f_in)) fputs(buff,f_out);
fclose(f_in); fclose(f_out);
}
Перед записью можно вставить проверку и писать только нужные строки.
KS>>>> Так оконные и консольные программы довольно разные.
VG>>> там другие функции?
KS>> Функции само собой другие в части ввода/вывода,
KS>> там разная и структура программы.
VG> ой ма.
Так в консольной программе ты весь интерфейс делаешь сам, а в оконной
используешь готовые заготовки из Windows API у которого своя специфика
на структуру программы.
VG>>>>> компилятор опен ватком 1.9
KS>> Я начинал с Turbo C и мелкомягкие поделки никогда не любил.
KS>> Однажды, пришлось пользоваться Watcom C, т.к. под QNX был только он.
KS>> Т.к. после Borland C 3.1 пошло что-то невменяемое под Windows,
KS>> взял последний Watcom C 11 для написания консольных программ.
KS>> Когда фирмы не стало, перешел на Орen Watcom.
VG> Я на работе писал на Microsoft C 6.0 / потом приехал в гости один фидошник
VG> и дал содрать диск с ваткомом. Потом я "потерял" винт. качал уже с торренс
ру.
VG> потом опен ватком.
У меня сложнее. Начинал в студенческие годы c Алмир на МИР-1/МИР-2,
на работе PL/1 на ЕС ЭВМ (IBM/360 потом IBM/370), когда появились персоналки,
по требованию заказчика надо было писать на C, взял Turbo C 2.0, это было
намного удобней майкрософтовского. Потом пришлось немного повозиться
с Watcom C на MicroPC. Делать что-то гуевое под Windows желания не было,
поэтому для консольных программ взял уже знакомый Watcom.
Сейчас, вероятно, надо брать Bloodshed DEV-C, там MinGW,
но разбираться с чем-то новым... :(
WBR, Konstantin.
From: |
Vitaliy Geydeko 2:5064/54.2 |
28 Mar 2018 05:43 +0300 |
To: |
Den Grigoriev 2:5005/49.3 |
|
Subject: |
fgets/fputs
|
Привет, Den!
28 Мар 18 07:33, ты писал(а) мне:
DG>>> https://www.visualstudio.com/ru/vs/community/
VG>> А его покупать надо или просто зарегистрироваться?
VG>> ставил я его. правда с торрента.
DG> Даже регистрироваться не надо.
у меня после 30 дней потребовала
Vitaliy
... np:ЧИЧЕРИНАСМЫСЛОВЫЕ ГАЛЛЮЦИНАЦИИ - НЕТ ДА (6)