1. Fangen Sie eine Zeichenfolge mit der angegebenen Länge von links ab
Codefunktion: Vom Anfang der Zeichenfolge an Zeichen der angegebenen Länge abfangen.
#include <stdio.h>
#include <wiringPi.h>
int main()
{
char arr[128] = {'\0'};
int i = 0;
printf("input a data\n");
scanf("%s",arr);
for(i=0;i<3;i++){ //截取前三个字符
printf("%c",arr[i]);
}
return 0;
}
Operationsergebnis:
input a data
hurytdxcgf
hur
2. Fangen Sie eine Zeichenfolge mit der angegebenen Länge von rechts ab
Codefunktion: Ab dem Ende der Zeichenfolge werden Zeichen der angegebenen Länge abgefangen.
#include <wiringPi.h>
#include <string.h>
int main()
{
char arr[128] = {'\0'};
int i = 0;
printf("input a data\n");
scanf("%s",arr);
int len = strlen(arr);
printf("len=%d\n",len);
for(i=len;i>(len-3);i--){
printf("%c",arr[i]);
}
return 0;
}
Operationsergebnis:
input a data
asfafg
len=6
gf
3. Verwenden Sie strstr, um Zeichenfolgen zu finden
Codefunktion: Finden Sie heraus, ob das Zeichen „s“ in der Zeichenfolge enthalten ist
#include <stdio.h>
#include <wiringPi.h>
#include <stdio.h>
#include <wiringPi.h>
#include <string.h>
int main()
{
char arr[128] = {'\0'};
char *p = "s";
printf("input a data\n");
scanf("%s",arr);
if(strstr(arr,p) == NULL){
printf("not find position\n");
}else{
printf("middle positiom\n");
}
return 0;
}
Ausgabeergebnis:
input a data
dsfgfda
middle positiom
4. Verwenden Sie die Funktion strtok, um Daten nach dem angegebenen Zeichen abzufangen.
Codefunktion: Alle Daten nach dem Zeichen „d“ abfangen
#include <stdio.h>
#include <wiringPi.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char arr[128] = {'\0'};
char *pos_state = "d";
char *token;
printf("input a data\n");
scanf("%s",arr);
if(strstr(arr,pos_state) == NULL){
printf("not find position\n");
}else{
printf("middle positiom\n");
}
char *buf = strstr(arr,pos_state);
token = strtok(buf, "d");
printf("distance=%s\n",token);
token = strtok(NULL, "d");
return 0;
}
Operationsergebnis:
input a data
abcd123
middle positiom
distance=123