Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==========================================================
- --- String.zh: string-handling constants and functions ---
- ==========================================================
- //13-JUNE-2016
- ===============
- -- Constants --
- ===============
- * Message ASCII Code
- const int MSGC_LINEFEED = 10
- * The ASCII value for '\n'
- * Message Format
- const int MF_NONE = 0
- const int MF_STRING = 1
- const int MF_INT = 2
- const int MF_FLOAT = 3
- const int MF_NUM = 4
- const int MF_PTR = 5
- const int MF_CHAR = 6
- * Entered directly into 'strcatf' and 'strncatf' as the format type for the
- * argument
- * Converted (respectively) from the '%n', '%s', '%i', '%f', '%d', '%p' and '%c'
- * format arguments in sprintf and printf (via the sprintf_MFCodeToInt function)
- const int CHAR_*
- * A complete map of all ASCII characters.
- ================================
- -- Single Character Functions --
- ================================
- bool isControlCode(int chr)
- * Returns true if 'chr' is in the control code range of ascii characters
- bool isNumber(int chr)
- * Returns true if 'chr' is in the range of ascii characters '0' to '9'
- bool isAlphabetic(int chr)
- * Returns true if 'chr' is an alphabetic character
- bool isAlphaNumeric(int chr)
- * Returns true if 'chr' is an alphanumeric character
- bool isHex(int chr)
- * Returns true if 'chr' is in the set { '0'-'9', 'A'-'F' , 'a'-'f' }
- bool isUpperCase(int chr)
- * Returns true if 'chr' is an upper-case character
- bool isLowerCase(int chr)
- * Returns true if 'chr' is a lower-case character
- int UpperToLower(int chr)
- * Converts all upper case characters to lower case, leaving non-alphabetic
- * characters unchanged
- int LowerToUpper(int chr)
- * Converts all lower case characters to upper case, leaving non-alphabetic
- * characters unchanged
- int ConvertCase(int chr)
- * Converts lower case to upper case and upper case to lower case
- =========================
- -- Memory Manipulation --
- =========================
- * Memory Set
- void memset(int ptr[], int value, int n)
- * Sets block of memory of size 'n' pointed by 'ptr' to 'value'
- * Memory Copy
- int memcpy(int dest[], int src[], int n)
- * Copys block of memory pointed by 'src' of size 'n' to 'dest' and returns
- * 'dest'
- * Memory Move
- int memmove(int dest[], int src[], int n)
- * As memcpy, but uses a buffer so memory space can overlap
- * Array Set
- void arrayset(int a[], int a0, int a1, int a2,...)
- * Assign all elements of array 'a'. Overloaded for up to 16 elements
- =========================
- -- String Manipulation --
- =========================
- * String Copy
- void strcpy(int dest[], int src[])
- * Copys string 'src' into string 'dest' without checking for overflow in 'dest'
- void strncpy(int dest[], int src[], int n)
- * As strcpy, but only takes the first 'n' characters from src
- * Remove Characters
- void remchr(int string[])
- * Remove all characters starting from pointer 'string'
- void remnchr(int string[], int n)
- * Remove 'n' characters and shift the rest of the string back to pointer 'string'
- * String Length
- int strlen(int string[])
- * Returns the length of string 'string'
- * String Concatenate
- int strcat(int dest[], int src[])
- * Appends string 'src' onto string 'dest' (assuming dest has enough extra memory
- * allocated to allow the operation)
- int strncat(int dest, int src, int n)
- * strcat for the first 'n' characters in src
- -- String Searching --
- ======================
- * String Character
- int strchr(int string[], int character)
- * Returns the position of the first occurence of 'character' in 'string',
- * or -1 if none are found
- * String Reverse Character
- int strrchr(int string[], int character)
- * Returns the position of the last occurence of 'character' in 'string'
- * starting from the end, or -1 if none are found
- * String Sub-String
- int strstr(int string[], int sub[])
- * Returns the position of the first occurence of sub-string 'sub' in 'string,
- * or -1 if sub is not found
- * String Span
- int strspn(int str[], int keys[])
- * Returns the length of characters in 'str' before a character not contained in
- * 'keys' is found
- * String Complement Span
- int strcspn(int str[], int keys[])
- * Returns the length of characters in 'str' before a character contained in
- * 'keys' is found
- -- String Comparison --
- =======================
- * String Compare
- int strcmp(int str1[], int str2[])
- * Iterates through str1 and str2 until a character is found which is not the same in
- * both strings, and then returns > 0 if the character is larger in str1, and < 0 if it is
- * larger in str2. Returns 0 if the strings are equal
- int strncmp(int str1[], int str2[], int n)
- * strcmp up to 'n' characters
- -- Converting between variables and strings --
- ==============================================
- * ASCII to Integer
- int atoi(int string[])
- * Returns the decimal integer pointed by 'string'
- * Integer Length
- int ilen(int string[])
- * Returns the length of characters of the decimal integer pointed by 'string'
- * Hexadecimal ASCII to Integer
- int xtoi(int string[])
- * Returns the (positive) hexadecimal integer pointed by 'string'
- * Hexadecimal Length
- int xlen(int string[])
- * Returns the length of characters of the (positive) hexadecimal integer pointed by 'string'
- * ASCII to Float
- float atof(int string[])
- * Returns the floating point number pointed by 'string'
- * Float Length
- int flen(int string[])
- * Returns the length of characters of the floating point number pointed by 'string'
- * ASCII to Number
- float aton(int string[])
- * Returns the number pointed by 'string', calling either atoi or atof depending on context
- * Number Length
- int nlen(int string[])
- * Returns the length of characters of the number pointed by 'string', calling either
- * ilen or flen depending on context
- * Integer to ASCII
- int itoa(int string[], int num)
- * Places integer 'num' into string 'string' without checking for overflow,
- * and returns the number of characters used
- * Float to ASCII
- int ftoa(int string[], float num, bool printall)
- * Places float 'num' into string 'string' without checking for overflow,
- * and returns the number of characters used. If 'printall' is true, it will add 4 decimal places
- * regardless of the most significant digit
- * Number to ASCII
- int ntoa(int string[], float num)
- * Checks whether 'num' is an integer or not, and calls the appropriate function
- -- String Formatting --
- =======================
- * String Concatenate Format
- int strcatf(int dest[], int arg, int format)
- * Appends 'arg' onto 'dest' as the MF_ constant passed into 'format'
- int strncatf(int dest[], int arg, int format, int n)
- * As strcatf, using only 'n' characters of 'arg'
- * String Print Format
- void sprintf(int ret[], int formatstr[], int a0, int a1, int a2,...)
- * Prints string 'formatstr' into 'ret' according to the arguments inputted (see C function for reference),
- * returning the number of characters used. Does not check for overflow in 'ret'
- * Overloaded up to a maximum of 16 arguments. Enter the right number of arguments for your format string;
- * there is (currently) no way to check how many arguments have been entered or of what type they are
- * Currently supported arguments:
- * '%s' - String
- * '%i' - Integer
- * '%f' - Float
- * '%d' - Number (Integer/Float depending on context)
- * '%n' - Nothing
- * '%p' - Pointer Address
- * '%c' - Single character
- * '%x' - Hexadecimal Integer (lower case)
- * '%X' - Hexadecimal Integer (upper case)
- * '\n' places a line feed ASCII character into the string
- * Print Format
- void printf(int formatstr[], int a0, int a1, int a2,...)
- * Uses a buffer to print the results of sprintf(formatstr,...) straight to allegro.log
- * Overloaded up to a maximum of 16 arguments
- ================================================
- -- string.zh Changes and Additions ( 2.50.2 ) --
- ================================================
- As of this version, string.zh is a base include with std.zh. You no longer need to call it separately, as it
- is imported directly from the main std.zh file. If this poses a problem for you, you may comment out that
- import directive instruction.
- //Constants for string.zh
- const int CHAR_*
- * ASCII CHaratcers 0 to 255
- //New Functions for string.zh
- bool isSpace(int chr)
- * Returns true if 'chr' is a space.
- bool isVowel(int chr)
- * Returns true if 'chr' is a vowel (a, e, i, o , u, A, E, I, O, U)
- bool ContainsChar(int chr, int buffer)
- * Returns true is string 'buffewr' contains the character 'chr'.
- int ContainsCharPos(int chr, int buffer)
- * Returns the index position of the first occurrence of charcter 'chr' in string 'buffer'.
- * Returns -1 if the char was not present.
- int NumCharsOf(int str, int chr)
- * Returns the number of chracters of a given type in a specified string.
- int ReturnStringCharPos(int str, int chr)
- * Returns the index of the first character matching 'chr', starting at index 0.
- int IsChar(int chr)
- * Returns the numeric value of chr constant.
- bool IsChar(int chr, int compare){
- * Returns true if character chr is identical to the value specified as 'compare'.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement