Tag: strcpy

strcpy与memcpy

memcpy()和strcpy()有什么区别? 我试图find一个程序的帮助,但都给出了相同的输出。 int main() { char s[5]={'s','a','\0','c','h'}; char p[5]; char t[5]; strcpy(p,s); memcpy(t,s,5); printf("sachin p is [%s], t is [%s]",p,t); return 0; } 产量 sachin p is [sa], t is [sa]

strcpy vs strdup

我读strcpy是为了复制一个string,而strdup返回一个指向新string的指针来复制string。 你能解释一下你喜欢使用strcpy情况吗?你喜欢用什么情况下使用strdup ?

C“错误:函数返回局部variables的地址”

我是C的初学者,我正在自学。 我正在创build以下function: char *foo(int x){ if(x < 0){ char a[1000]; char b = "blah"; x = x – 1; char *c = foo(x); strcpy(a, b); strcat(a, c); return a; } blah … } 我基本上试图返回一个附加的string,但我得到以下错误: “错误:函数返回局部variables的地址”,有什么build议,如何解决这个问题?

如何正确分配一个新的字符串值?

我试图了解如何以最清洁/最安全的方式解决这个微不足道的问题。 这是我的例子: #include <stdio.h> int main(int argc, char *argv[]) { typedef struct { char name[20]; char surname[20]; int unsigned age; } person; //Here i can pass strings as values…how does it works? person p = {"John", "Doe",30}; printf("Name: %s; Age: %d\n",p.name,p.age); // This works as expected… p.age = 25; //…but the same approach doesn't work […]

为什么要使用strncpy而不是strcpy?

编辑:我已经添加了该示例的源代码。 我遇到这个例子 : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This is how strcpy works */ printf("destination is originally = '%s'\n", destination); return_string = strcpy(destination, source); printf("after strcpy, dest becomes '%s'\n\n", destination); /* This is how strncpy works */ […]