169 похожих чатов

#Include <stdio.h> #include <string.h> /* to use the functions: strcmp() and

strncmp();
strchr(), strrchr(), strstr(), strpbrk()*/

int main(void)
{

// String comparasion:

char s1[12] = "Hello"; // string 1 for comparison;
char s2[10] = "Hello"; // string 2 for comparison;

const char *str1 = s1; // constable auxiliary pointer for operation with a string 's1';
const char *str2 = s2; // condtable auxiliary pointer for operation with a string 's2';

int i = 0; // auxiliary loop's counter;
for(; str1[i] != '\0' && str2[i] != '\0'; ++i) // iterate characters of strings (str1 and str2) until one of them will be != '\0';
if(str1[i] != str2[i]) { // checking if a current char of str1 is not equal a current char of str2;
puts("Strings are not equal!");
return 0;
}
if(str1[i] != str2[i]) { // checking the current quantity (until == '\0') of chars of two strings to check they lengths are not equal;
puts("Srting lengths are not equal!");
return 0;
}
puts("Strings are equal!");

// String comparesion functions:

if(strcmp(s1, s2) == 0) // if == 0 than strs are equal, if < 0 than s1 < s2 and if > 0 than s1 > s2;
puts("Strings are equal!");
else
puts("Strings are not equal!");

const char *strings[] = { // constable pointer's array ;
"Ship", "Shopping", "Shematic", "Super", "Car", "Sherif"
};
for(int i = 0; i < sizeof(strings) / sizeof(*strings); ++i) // size calculation of each (i) string;
if(strncmp(strings[i], "Sh", 2) == 0) // 2 chars for checking;
puts(strings[i]);


char str_0[] = "Abrakadabra";

char *ptr_1 = strchr(str_0, 'a'); // the func 'strchr()' find the first char 'a' (*ptr = a) in the string 'str' from left to rigth;
printf("str_0 = %p\nptr_1 = %p\n", str_0, ptr_1); // output of the addresses of strings: str and ptr;
if(ptr_1 != NULL) // check if ptr is not '0';
printf("*ptr_1 = %c\n", *ptr_1);

char *ptr_2 = strrchr(str_0, 'a'); // the func 'strrchr()' find the first char 'a' (*ptr = a) in the string 'str' from rigth to left;
printf("str_0 = %p\nptr_2 = %p\n", str_0, ptr_2);
if(ptr_2 != NULL)
printf("*ptr_2 = %c\n", *ptr_2); // output of the string;

char *ptr = strstr(str_0, "ra"); // the func 'strstr()' find the fragment "ra....ra" (*ptr = ra (in double quotes) in the string 'str';
printf("str_0 = %p\nptr = %p\n", str_0, ptr); // output of the addresses of strings: str and ptr;
if(ptr != NULL)
printf("ptr = %s\n", ptr);

char pass[] = "dfdfg90!#$$A";
char *ptr_3 = strpbrk(pass, "@!#$^&?"); // the func 'strpbrk()' find any chars of @!#$^&? (*ptr = @!#$^&?) in the string 'str' from rigth to left;
printf("pass = %p\nptr_3 = %p\n", pass, ptr_3); // output of the addresses of strings: str and ptr;
if(ptr_3 != NULL)
printf("ptr_3 = %s\n", ptr_3);

return 0;
}

4 ответов

14 просмотров

Это не выглядит как лекция

C-Lamer- Автор вопроса
S.E.
Это не выглядит как лекция

Я так записываю лекции

C-Lamer
Я так записываю лекции

возми книжку(Прату например) проще будет

Вы это компилили?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта