Skip to content

Instantly share code, notes, and snippets.

View alsamitech's full-sized avatar

Sami Alameddine alsamitech

  • Alsami Technologies
  • United States of America
View GitHub Profile
_Bool contains_byte(char* bytes, size_t len, char contains){
for(size_t i=0;i<len;i++)
if(bytes[i]==contains)return 1;
return 0;
}
#define BIT_0 1
#define BIT_1 2
#define BIT_2 4
#define BIT_3 8
#define BIT_4 16
#define BIT_5 32
#define BIT_6 64
#define BIT_7 128
void bitchar(char* s, char c){
@alsamitech
alsamitech / contains_chars.c
Created July 1, 2021 04:34
contains_chars
_Bool contains_chars(char* str, char* contains){
while(*str){
for(size_t i=0;contains[i];i++)
if(*str==contains[i])return 1;
str++;
}
return 0;
}
@alsamitech
alsamitech / contains_char.c
Created June 30, 2021 14:38
contains_char - returns true if the string contains the character. If your C compiler doesn't support _Bool, just use char instead
_Bool contains_char(char* str, char contains){
while(*str){
if(*str==contains)
return 1;
str++;
}
return 0;
}
char arr_first(arr_t bytes, arr_t first){
for(size_t i=0;i<bytes.len;i++){
for(size_t fi=0;fi<first.len;fi++){
if(bytes.arr[i]==first.arr[fi]){
return first.arr[fi];
}
}
}
return 0;
}
@alsamitech
alsamitech / str_first.c
Created June 28, 2021 20:05
str_first - returns whichever character of first is the first character in str
char str_first(char* str, char* first){
while(*str){
for(size_t i=0;first[i];i++)
if(*str==first[i]) return *str;
str++;
}
}
@alsamitech
alsamitech / until_char_inc.c
Created June 28, 2021 14:19
Example for divergent thinking article
size_t until_char(char* src, char until){
char* new_src=src;
while(*new_src!=until)new_src++;
return new_src-src;
}
void str_replace_map(char* str, char* replace, char* with){
for(size_t i=0;str[i];i++)
for(size_t ii=0;replace[ii];ii++)
if(str[i]==replace[ii])
str[i]=with[ii];
}
void str_replace(char* str, char replace, char with){
for(size_t i=0;str[i];i++)
if(str[i]==replace) str[i]=with;
}
@alsamitech
alsamitech / starts_with_3.c
Created June 26, 2021 07:13
starts_with but makes more sense
unsigned char starts_with(char* _in, char* startsw){
for(long unsigned int i=0;_in[i]&&startsw[i];i++)
if(_in[i]!=startsw[i])
return 1;
return 0;
}