what's wrong with my one-liner strncpy: while(*s++ = *t++ && n-- > 0);?
Posted
by
pvd
on Stack Overflow
See other posts from Stack Overflow
or by pvd
Published on 2013-10-24T03:44:47Z
Indexed on
2013/10/24
3:54 UTC
Read the original article
Hit count: 127
Filed under:
c
#include <stdio.h>
#define STR_BUF 10000
#define STR_MATCH 7
void mystrncpy(char* s, char* t, int n) {
while(*s++ = *t++ && n-- > 0);
}
int main() {
int result;
char str_s[STR_BUF] = "not so long test string";
char buf_1[STR_BUF];
mystrncpy(buf_1, str_s, STR_MATCH);
printf ("buf_1 (mystrncpy, 7 chars): %s\n", buf_1);
return 0;
}
When I run it, nothing happened
ian@ubuntu:~/tmp$ gcc myncpy.c -o myn&&./myn
buf_1 (mystrncpy, 7chars):
© Stack Overflow or respective owner