標籤:
#include <stdio.h>#include <string.h>int main(void){ //char dest[10]; //#define NULL (void *)0 //char *dest = NULL; //dest是野指標,指向的地區沒有可讀寫空間 //char dest[3]; //char src[] = "hello"; char str1[10] = "hello"; //char str2[10] = str1; strcpy(str2, str1); printf("%s\n", str2); //printf("%s\n", strcpy(dest, src)); //printf("%s\n", strncpy(dest, src, sizeof(dest))); return 0;}
#include <stdio.h>#include <string.h>hellohelloworldstrncmp("hello", "helloworld", 5);int main(void){ int i; char name[][10] = {"xiaoming", "itcast", "xiaoqiang", "xiaohong"}; char key[10]; /* char a[10] = "xiaoming"; //name[0] == > a char b[10] = "itcast"; char c[10] = "xiaoqiang"; char d[10] = "xiaohong"; */ //char name[][10] = {"xiaoming\0\0itcast\0\0\0\0xiaoqiang\0xiaohong\0\0"}; for (i = 0; i < 4; i++) { if (strcmp(name[i], "xiaohong") == 0) { printf("%d\t%s\n", i, name[i]); strcpy(key, name[i]); } } printf("%s\n", key); return 0;}
#include <stdio.h>#include <string.h>int main(void){ //char s1[10] = "hello"; //char *s1 = "hello"; char s1[7] = "hello"; //注意S1要有足夠的空間放拼接後的字串,不然發生數組越界 char s2[] = "BOY"; strcat(s1, s2); printf("%s\n", s1); return 0;}
#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ char str[] = "hello world itcast"; char key; printf("%s\n", str); key = getchar(); char *p = NULL; p = strchr(str, key); (!p)?printf("un find\n"):printf("%s\n", p); return 0;}
#include <stdio.h>#include <string.h>/*int main(void){ char str[] = "hello world itcast good"; char *p; p = strtok(str, " "); printf("%s\n", p); while ((p = strtok(NULL, " ")) != NULL) printf("%s\n", p);// p = strtok(str, " "); //printf("str = %s\n", str); return 0;}*//*int main(void){ char str[] = "hello, world, itcast! good.; night?"; char *dlim = " ,?!.;"; //char dlim[] = ".?!.;"; char *p; p = strtok(str, dlim); printf("%s\n", p); while ((p = strtok(NULL, dlim)) != NULL) printf("%s\n", p);// p = strtok(str, " "); //printf("str = %s\n", str); return 0;}*/size_t strlen(const char *str){ return 6;}int main(void){ char str[] = "hello world itcast good night"; char tmp[] = "I am a student\n"; char *dlim = " "; char *p; printf("%d\n", (int)strlen(tmp)); p = strtok(str, dlim); //內部指標儲存下一次要strtok的字串地址 printf("%s\n", p); p = strtok(tmp, dlim); printf("%s\n", p); while ((p = strtok(NULL, dlim)) != NULL) printf("%s\n", p); return 0;}
#include <stdio.h>int a = 3;int b;int main(void){ int c = 3; char *str1 = "hello"; //"hello"屬於字串常量,儲存在唯讀資料區 char str2[] = "hello"; //str2[6] 記憶體的棧上分配,棧的屬性可讀可寫 printf("%p\n", &a); printf("%p\n", &b); printf("%p\n", &c); printf("%p\n", str1); printf("%p\n", &str1); printf("%p\n", str2); //str2+1 printf("%p\n", &str2);// &str2+1 return 0;}
C基礎--字串操作函數(strlen,strcpy,strcmp,strcat,strstr,strtok)