strtok
char * strtok ( char * str, const char * sep )
Der sep-Parameter ist eine Zeichenfolge, die den Satz von Zeichen definiert, die als Trennzeichen verwendet werden
Der erste Parameter gibt eine Zeichenfolge an, die 0 oder mehr Tags enthält, die durch ein oder mehrere Trennzeichen in der sep-Zeichenfolge getrennt sind
erinnern.
Die Funktion strtok findet den nächsten Token in str, beendet ihn mit \0 und gibt einen Zeiger auf diesen Token zurück. (Notiz:
Die Funktion strtok ändert die zu manipulierende Zeichenfolge, sodass es sich bei den mit der Funktion strtok geteilten Zeichenfolgen im Allgemeinen um vorübergehend kopierte Inhalte handelt
Und kann geändert werden. )
Der erste Parameter der Strtok-Funktion ist nicht NULL, die Funktion findet das erste Token in str und die Strtok-Funktion speichert es in der Zeichenfolge
Position in .
Der erste Parameter der Strtok-Funktion ist NULL. Die Funktion startet an der gespeicherten Position in derselben Zeichenfolge und sucht nach der nächsten Markierung
erinnern.
Gibt einen NULL-Zeiger zurück, wenn in der Zeichenfolge keine weiteren Token vorhanden sind
Beginnen wir mit einem einfachen Code zur Erklärung: Es gibt nur ein Zeichen „.“ im Array arr, dann geben wir ein „.“ als ersten Parameter an und markieren dieses Zeichen in der Funktion strtok, wodurch es in „\0“ umgewandelt wird. (siehe buf[3]) und gespeicherter Speicher vorhanden ist, beginnt die nächste Ausführung an der gespeicherten Position
strerror
char * strerror ( int errnum )
Aus der folgenden Abbildung können wir ersehen: Wenn die Bibliotheksfunktion der C-Sprache nicht ausgeführt werden kann, wird ein Fehlercode angezeigt, und die Funktion gibt einen Zeiger auf die Fehlerzeichenfolge zurück, die die Fehlernummer beschreibt.
Hier erklären wir: Jedes Mal, wenn wir in der C-Sprache einen Fehler machen, wird der Fehlercode in errno gespeichert und der nächste Fehlercode überschreibt den vorherigen Fehlercode
Zeichenklassifizierungsfunktion:
Funktion |
Gibt „true“ zurück, wenn sein Argument die folgenden Bedingungen erfüllt |
iscntrl |
beliebige Steuerzeichen |
isspace |
Leerzeichen: Leerzeichen „“, Seitenvorschub „\f“, Zeilenvorschub „\n“, Wagenrücklauf „\r“, Tabulator „\t“ oder vertikaler Tabulator „\v“. |
sogar |
Dezimalzahl 0~9 |
Selbstziffer |
十六进制数字,包括所有十进制数字,小写字母a~f,大写字母A~F |
islower |
小写字母a~z |
isupper |
大写字母A~Z |
isalpha |
字母a~z或A~Z |
isalnum |
字母或者数字,a~z,A~Z,0~9 |
ispunct |
标点符号,任何不属于数字或者字母的图形字符(可打印) |
isgraph |
任何图形字符 |
isprint |
任何可打印字符,包括图形字符和空白字符 |
memcpy
void * memcpy ( void * destination, const void * source, size_t num )
函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。
这个函数在遇到 '\0' 的时候并不会停下来。
如果source和destination有任何的重叠,复制的结果都是未定义的
代码如下:注意我们这个num是字节数
memmove
void * memmove ( void * destination, const void * source, size_t num )
和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。
如果源空间和目标空间出现重叠,就得使用memmove函数处理
我们这个代码是从后到前移动,是src在dest前面所以我们必须从5到1移动,否则就会导致代码打印出来的不是我们所想要的
以上就是我们的字符函数和字符串函数的介绍;完结撒花,喜欢的话请三连支持一下哦!!!