C语言字符串拷贝实例 C语言字符串拷贝实例 C语言使用sprintf格式化字符串 C语言字符串拷贝实例 /* copy3.c -- strncpy() demo */ #include <stdio.h> #include <string.h> /* declares strncpy() */ #define SIZE 40 #define TARGSIZE 7 #define LIM 5 char * s_gets(char * st, int n); int main(void) { char qwords[LIM][TARGSIZE]; char temp[SIZE]; int i = 0; printf("Enter %d words beginning with q:\n", LIM); while (i < LIM && s_gets(temp, SIZE)) { if (temp[0] != 'q') printf("%s doesn't begin with q!\n", temp); else { strncpy(qwords[i], temp, TARGSIZE - 1); qwords[i][TARGSIZE - 1] = '\0'; i++; } } puts("Here are the words accepted:"); for (i = 0; i < LIM; i++) puts(qwords[i]); return 0; } char * s_gets(char * st, int n) { char * ret_val; int i = 0; ret_val = fgets(st, n, stdin); if (ret_val) { while (st[i] != '\n' && st[i] != '\0') i++; if (st[i] == '\n') st[i] = '\0'; else // must have words[i] == '\0' while (getchar() != '\n') continue; } return ret_val; } C语言字符串拷贝实例 C语言使用sprintf格式化字符串