Программирование на Си урок 31: Строки, функции: strcat, strncat в языке Си

  Рет қаралды 8,882

From the LAMER to the Programmer

From the LAMER to the Programmer

Күн бұрын

Строки, функции: strcat, strncat в языке Си
p.s. верное решение которое при записи не получилось )
strncat(str5, (str6+25), 6);
fprintf(stdout, "%s
", str5);
If You want to support the channel:
Донат / Donate
RUB R939373054553
USD Z657301568665

Пікірлер: 25
@mihannic7929
@mihannic7929 7 жыл бұрын
Ну и что что ошибается.....все даже спецы и те ошибаются.Молот....так держать....а я буду вообще все уроки какие есть на канале смотреть.Кому не нравится ....не смотрите.Другие так объяснят.....что хер сам поймет что он нагородил.А Дмитрий все разжовывает. Спс.
@zaan2684
@zaan2684 5 жыл бұрын
(sizeof(str3)+sizeof(str4))/sizeof(char) что бы не считать
@aliyaorazalina7913
@aliyaorazalina7913 8 жыл бұрын
Хорошое, содержательное видео! Единственное хотелось бы видео про размещение строки в алфавитном порядке))) и добавлю от себя ещё, вам не стоит так волноваться)))
@FromtheLAMERtotheProgrammer
@FromtheLAMERtotheProgrammer 7 жыл бұрын
Спасибо!
@vitsmith7259
@vitsmith7259 7 жыл бұрын
Возможно ты используешь кириллицу, и поэтому тебе на 15 минуте приходилось увеличивать число на 2 раза больше, чем есть символов (в strncat 64). Char - кодировка аски 1 байт, латиница. Кириллица кодируется по 2 байта
@FromtheLAMERtotheProgrammer
@FromtheLAMERtotheProgrammer 7 жыл бұрын
Да все верно )
@aleksandrchepaikin9570
@aleksandrchepaikin9570 5 жыл бұрын
Если кому интересно рабочий пример как можно соединить строки из видео. Автору спасибо за труд))) char string1[200] = "Я изучаю программирование"; char string2[] = " на отличном языке Си!"; char string3[200] = "Все подписчики канала станут"; char string4[] = " профессиональными программистами на языке Си!"; char string5[200] = "На канале мы программируем в"; char string6[] = " операционках Linux"; strcat(string1, string2); fprintf(stdout, "%s ", string1); strncat(string3, string4, strlen(string3) + strlen(string4)); fprintf(stdout, "%s ", string3); strncat(string5, string6, strlen(string5) + strlen(string6)); fprintf(stdout, "%s ", string5);
@FromtheLAMERtotheProgrammer
@FromtheLAMERtotheProgrammer 5 жыл бұрын
Спасибо за просмотры и хорошее отношение к моему труду.
@programer8
@programer8 4 жыл бұрын
@@FromtheLAMERtotheProgrammer будут ли еще видео на канале?
@programer8
@programer8 4 жыл бұрын
все это можно писать проще: strcat(string5, string6);
@FromtheLAMERtotheProgrammer
@FromtheLAMERtotheProgrammer 4 жыл бұрын
@@programer8 да будут, но уже по С#
@programer8
@programer8 4 жыл бұрын
@@FromtheLAMERtotheProgrammer я сейчас стою на распутье, по-вашему мнению что стоит выбрать Java или С# ?
@serpun2848
@serpun2848 3 жыл бұрын
В конце видео сижу и кричу уже как на футболе - да 25 ставь! 25! ))) Видмо отвлекли тебя 2 раза и сбили другие мысли с толку, а так - спасибо за урок!
@MagicZodiak
@MagicZodiak 7 жыл бұрын
Вся проблема из-за того что в самом начале курса не было упомянуто про оператор sizeof.
@FromtheLAMERtotheProgrammer
@FromtheLAMERtotheProgrammer 7 жыл бұрын
Вроде говорил про sizeof
@sergeystal15
@sergeystal15 5 жыл бұрын
1 байт для инглиша и 2 байта для утф я в книге попал с этим, переводят книги бездумно. В оригинале манипуляция с английскими словами и там 1 символ занимает 1 байт, а наши переводят эти английские слова в коде и ты пишешь русские строки и у тебя нехера не получается, а русские символы занимают 2 байта =) и попандос) пока допер что происходит думал кого нибудь убью. за что деньги берут издательства не понятно. за то что они английскую книгу в гугл транслите перевели да наверно гугл лучше переведет уже) я бомбил долго. #include #include #define SIZE 200 int main(int argc,char *argv[]){ char str1[SIZE] = "Я изучаю программирование"; char str2[SIZE] = " на отличном языке Си"; char str3[SIZE] = "Все подписчики канала станут"; char str4[] = " профессиональным програмистами на языке Си!"; char str5[SIZE] = "на канале мы програмируем в"; char str6[] = " операционка Linux"; strcat(str1,str2); fprintf(stdout,"%s ", str1); strncat(str3, str4, 60); fprintf(stdout,"%s ", str3); strncat(str5,(str6+23), 5); fprintf(stdout,"%s ",str5); return 0; }
@namename2031
@namename2031 2 жыл бұрын
Пробел==1 Байт операционка==22 Байта 22+1==23 Байта Надо это конкатенировать: Linux(пробел и Linux)== 6 Байт strncat(str5,(str6+23), 6);
@Желейныймишка-щ8в
@Желейныймишка-щ8в 6 жыл бұрын
Лайфхак, ставьте скорость 1,25 и норм будет
@Arlasdarier
@Arlasdarier 4 жыл бұрын
1.75 - 2
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43