0056-wcsncat.c (848B)
1 #include <assert.h> 2 #include <stdio.h> 3 #include <wchar.h> 4 5 /* 6 output: 7 testing 8 test1 9 test2 10 test3 11 test4 12 test5 13 done 14 end: 15 */ 16 17 int 18 main() 19 { 20 wchar_t *s, buf[40], buf2[40]; 21 22 puts("testing"); 23 24 puts("test1"); 25 wcscpy(buf, L"01234"); 26 s = wcsncat(buf, L"567", 8); 27 assert(s == buf); 28 assert(!wcscmp(s, L"01234567")); 29 30 puts("test2"); 31 wcscpy(buf, L"01234"); 32 s = wcsncat(buf, L"567", 2); 33 assert(s == buf); 34 assert(!wcscmp(s, L"0123456")); 35 36 puts("test3"); 37 wcscpy(buf, L"01234"); 38 wmemcpy(buf2, L"567", 3); 39 s = wcsncat(buf, buf2, 3); 40 assert(s == buf); 41 assert(!wcscmp(s, L"01234567")); 42 43 puts("test4"); 44 wcscpy(buf, L"01234"); 45 s = wcsncat(buf, L"", 7); 46 assert(s == buf); 47 assert(!wcscmp(s, L"01234")); 48 49 puts("test5"); 50 wcscpy(buf, L"01234"); 51 s = wcsncat(buf, L"", 0); 52 assert(s == buf); 53 assert(!wcscmp(s, L"01234")); 54 55 puts("done"); 56 57 return 0; 58 }