寫出看起來專業(yè)的C代碼,除了規(guī)范的變量/函數(shù)命名,還需要熟練使用C語言的標(biāo)準(zhǔn)庫。當(dāng)為了數(shù)組拷貝自己編寫一個(gè)for循環(huán)的時(shí)候(可以用memcpy),其他讀者看到這種代碼,肯定會(huì)感嘆程序員的C語言基礎(chǔ)不行(為了優(yōu)化空間除外)。
int printf(const char *format, ...);printf("Hello, %s!\n", "world");int scanf(const char *format, ...);int age;scanf("%d",?&age);
3、fprintf:將格式化的數(shù)據(jù)輸出到文件。
int fprintf(FILE *stream, const char *format, ...);這個(gè)函數(shù)與 printf 類似,但將輸出定向到文件而不是標(biāo)準(zhǔn)輸出。
4、fscanf:從文件中讀取格式化的數(shù)據(jù)。
int fscanf(FILE *stream, const char *format, ...);5、fopen:打開文件以進(jìn)行讀寫操作。
FILE *fopen(const char *filename, const char *mode);FILE *file = fopen("example.txt", "r");int fclose(FILE *stream);7、fgets:從文件中讀取一行數(shù)據(jù)。
char *fgets(char *s, int size, FILE *stream);這個(gè)函數(shù)從文件中讀取一行文本數(shù)據(jù)。
int fputs(const char *s, FILE *stream);這個(gè)函數(shù)將字符串寫入文件。
int fgetc(FILE *stream);這個(gè)函數(shù)用于逐字符讀取文件內(nèi)容。
int fputc(int c, FILE *stream);這個(gè)函數(shù)將一個(gè)字符寫入文件。
void rewind(FILE *stream);這個(gè)函數(shù)用于將文件指針重新設(shè)置到文件的開頭。
int feof(FILE *stream);void *malloc(size_t size);int *arr = (int *)malloc(5 * sizeof(int));void *calloc(size_t num_elements, size_t element_size);int *arr = (int *)calloc(5, sizeof(int));void *realloc(void *ptr, size_t size);arr = (int *)realloc(arr, 10 * sizeof(int));void free(void *ptr);free(arr);int rand(void);int random_number = rand();void srand(unsigned int seed);srand(42);int abs(int n);int absolute_value = abs(-5);int atoi(const char *str);int number = atoi("42");double atof(const char *str);double pi = atof("3.14159");void exit(int status);exit(0); // 正常退出11、system:執(zhí)行系統(tǒng)命令。
int system(const char *command);system("ls -l");void qsort(void *base, size_t num_elements, size_t element_size, int (*compare_function)(const void *, const void *));int compare(const void *a, const void *b) {return (*(int *)a - *(int *)b);}int arr[] = {5, 2, 9, 1, 5};qsort(arr, 5, sizeof(int), compare);
1、strcpy:將一個(gè)字符串復(fù)制到另一個(gè)字符串。
char *strcpy(char *dest, const char *src);char destination[20];char source[] = "Hello, world!";strcpy(destination, source);
2、strcat:將一個(gè)字符串附加到另一個(gè)字符串。
char *strcat(char *dest, const char *src);char str1[20] = "Hello, ";char str2[] = "world!";strcat(str1, str2);
3、strlen:計(jì)算字符串的長度。
size_t strlen(const char *s);char str[] = "Hello";size_t length = strlen(str);
int strcmp(const char *s1, const char *s2);char str1[] = "apple";char str2[] = "banana";int result = strcmp(str1, str2);
int strncmp(const char *s1, const char *s2, size_t n);char str1[] = "apple";char str2[] = "appetizer";int result = strncmp(str1, str2, 3);
char *strchr(const char *s, int c);char str[] = "Hello, world!";char *result = strchr(str, 'w');
char *strstr(const char *haystack, const char *needle);char str[] = "The quick brown fox";char *result = strstr(str, "brown");
char *strtok(char *str, const char *delimiters);char?str[]?=?"apple,banana,grape";char *token = strtok(str, ",");while (token != NULL) {printf("%s\n", token);token = strtok(NULL, ",");}
小 結(jié)
這些函數(shù)提供了對字符串、內(nèi)存塊和文件的常見操作,是C語言編程中的重要工具。通過使用這些函數(shù),您可以高效地處理輸入輸出、內(nèi)存分配和字符串操作等任務(wù),從而提高效率并簡化代碼。C語言標(biāo)準(zhǔn)庫的強(qiáng)大之處在于其簡潔性和靈活性,加上標(biāo)準(zhǔn)庫的支持,使其成為許多開發(fā)人員的首選編程語言之一。
希望本文能夠幫助您更好地理解和利用C語言標(biāo)準(zhǔn)庫中的函數(shù),提高您的C編程技能。

END
→點(diǎn)關(guān)注,不迷路←