Inhalt
#strlen
Die strlen-Funktion muss vor ihrer Verwendung eine Header-Datei hinzufügen: #include<string.h>
Funktionsdeklaration: size_tstrlen(const char *s);
Funktion: Holen Sie sich die Länge der Zeichenfolge ohne '\0'.
Rückgabewert: Gibt die Anzahl der Zeichen im String zurück (ein Leerzeichen wird auch als Zeichen gezählt)
Beispiel:
#inclue<stdio.h>
#include<string.h>
int main()
{
char str[]="hello world";
int len=strlen(str);
printf("%d",len);//len=11
}
#strcpy und strncpy
##strcpy
Funktionsdeklaration: char *strcpy(char *dest,const char *src);
Funktionsbeschreibung: Kopieren Sie die Zeichenfolge, auf die src zeigt, in den Speicher, auf den der Zielzeiger zeigt, und '\0' wird auch dorthin kopiert.
Rückgabewert der Funktion: die Adresse des Zielspeichers.
※※Hinweis: Wenn Sie diese Funktion verwenden, müssen Sie sicherstellen, dass der Speicherplatz, auf den dest zeigt, groß genug ist, da es sonst zu einer Speicherverschmutzung kommt.
Beispiel:
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="hello world";
char s[]="hello earth";
strcpy(str,s);
printf("%s",str);//打印结果是hello earth
}
##strcnpy
Funktionsdeklaration: char *strncpy(char *dest,const char *src,size_tn);
Funktionsbeschreibung: Kopiere die ersten n Bytes der Zeichenkette, auf die src zeigt, in den Speicher, auf den dest zeigt.
Rückgabewert: die erste Adresse des Zielspeichers.
※※Hinweis: 1.strncpy kopiert '\0' nicht
2. Wenn n größer ist als die Anzahl der Zeichen in der Zeichenfolge, auf die src zeigt, dann fülle n-strlen(src) '\0' nach dest
Beispiel:
#include<stdio.h>
#include<string.h>
int main()
{
char str[]="hello world";
char s[]="hello earth";
strncpy(str,s,8);
printf("%s",str);
}
#strcat und strncat
## strcat
Funktionsdeklaration: char *strcat(char *dest,const char *src);
Funktion: Die strcat-Funktion hängt die src-Zeichenfolge an das Ende der Zeichenfolge an, auf die dest zeigt, und fügt beim Anhängen '\0' an.
※※Hinweis: Stellen Sie sicher, dass der Speicherplatz, auf den dest zeigt, groß genug ist.
Beispiel:
#include<stdio.h>
#include<string.h>
int main()
{
char str[100]="hello world";
char s[]="hello";
strcat(str,s);
printf("%s",str);
}
##strncat
Funktionsdeklaration: char *strncat(char *dest,const char *src,size_tn);
Hängt die ersten n Zeichen der Zeichenfolge, auf die src zeigt, an das Ende der Zeichenfolge an, auf die dest zeigt.
※※Hinweis: Wenn n größer als die Anzahl der Zeichen in src ist, wird nur die src-Zeichenfolge an die Zeichenfolge angehängt, auf die dest zeigt, und '\0' wird beim Anhängen hinzugefügt
Beispiel:
#include<stdio.h>
#include<string.h>
int main()
{
char str[100]="hello world";
char s[]="hello";
strncat(str,s,4);
printf("%s",str);
}
#strcmp und strncmp
##strcmp
Funktionsdeklaration: int strcmp(const char *s1,const char *s2);
Funktionsbeschreibung: Vergleiche die Größe der Strings, auf die s1 und s2 zeigen.
Vergleichsmethode: Vergleichen Sie den ASCII-Code Zeichen für Zeichen und kehren Sie zurück, sobald die Größe verglichen wurde.
Rückgabewert:
Gibt 1 zurück, wenn die Zeichenfolge, auf die s1 zeigt, größer ist als die Zeichenfolge, auf die s2 zeigt
Wenn die Zeichenfolge, auf die s1 zeigt, kleiner ist als die Zeichenfolge, auf die s2 zeigt, wird -1 zurückgegeben
Gibt 0 zurück, wenn gleich
Beispiel:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[]="hello world";
char str2[]="hello world";
int ret;
ret=strcmp(str1,str2);
printf("%d",ret);//ret==0
}
##strncmp
Funktionsdeklaration: int strncmp(const char *s1,const char *s2,size_t n);
Funktionsbeschreibung: Vergleiche die ersten n Zeichen in den Strings, auf die s1 und s2 zeigen
Beispiel:
#include<stdio.h>
#include<string.h>
int main()
{
char s1[]="hello world";
char s2[]="hello earth";
int ret;
ret=strncmp(s1,s2,5);
if(ret>0)
printf("s1的前五个字符大于s2的前五个字符\n");
else if(ret<0)
printf("s1的前五个字符小于s2的前五个字符\n");
else
printf("s1的前五个字符等于s2的前五个字符\n");
}
Ich habe vorerst so viele Wissenspunkte über Saiten aussortiert, und es gibt noch viele Stellen, die noch nicht behandelt wurden. Ich hoffe, jeder kann seine Meinung äußern. Lassen Sie uns als nächstes ein interessanteres Thema behandeln.
#Thema
n Zeilen ID-Nummern eingeben, nach Alter sortieren (groß nach klein) und ausgeben.
#include<stdio.h>
#include<string.h>
int main()
{
char a[100][100],birth[100][100],s[100];
int n,i,j;scanf("%d",&n);
gets(s);
for(i=0;i<n;i++)
{
gets(a[i]);
strncpy(birth[i],a[i]+6,8);
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(a[j],a[i])<0)
{
strcpy(s,a[j]);
strcpy(a[j],a[i]);
strcpy(a[i],s);
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",a[i]);
}
}
Dies ist das Ende dieses Artikels, ich danke Ihnen allen!