109得票11回答
为什么应该使用strncpy而不是strcpy?

编辑:我已经添加了示例的来源。 我发现了这个示例:char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX...

97得票9回答
strcpy与memcpy

memcpy()和strcpy()之间有什么区别?我尝试用程序找到答案,但两者都给出了相同的输出。 int main() { char s[5] = { 's', 'a', '\0', 'c', 'h' }; char p[5]; char t[5]; str...

90得票6回答
strcpy和strdup的区别

我了解到strcpy函数用于复制字符串,而strdup函数返回指向新字符串的指针以复制该字符串。 您能否解释一下在哪些情况下您更喜欢使用strcpy和在哪些情况下您更喜欢使用strdup?

65得票6回答
如何正确分配新的字符串值?

我正在尝试理解如何以最干净/最安全的方式解决这个C语言中的琐碎问题。以下是我的示例: #include <stdio.h> int main(int argc, char *argv[]) { typedef struct { char name...

58得票7回答
正确的清空C字符串方法

我一直在做一个需要大量操作字符串的C语言项目。通常情况下,我都是使用C++来编程,所以这和只需调用string.empty()的方法有些不同。 我想知道在C语言中如何清空一个字符串,以下代码是否正确? buffer[80] = "Hello World!\n"; // ... str...

57得票7回答
C语言有字符串类型吗?

最近我开始学习C语言编程,之前我学过Java和Python。现在,在我的书里我注意到如果要编写一个“Hello World”程序,语法应该是这样的:char message[10] strcpy(message, "Hello, world!") printf("%s\n", message)...

56得票8回答
错误:函数返回局部变量的地址

我是一名C语言初学者,正在自学中。我正在编写以下函数:char *foo(int x){ if(x < 0){ char a[1000]; char b = "blah"; x = x - 1; char *c =...

40得票4回答
为什么需要使用strcpy()函数?

请问为什么在以下代码片段中需要使用strcpy()函数将字符串赋值给字符数组?int main(void) { char s[4]; s = "abc"; //Fails strcpy(s, "abc"); //Succeeds return 0; } s = "abc"为什么会失败?并...

40得票6回答
strcpy()函数的返回值是什么?

许多来自标准C库的函数,特别是用于字符串操作的函数,尤其是strcpy(),共享以下原型:char *the_function (char *destination, ...) 这些函数的返回值实际上与提供的目标变量destination相同。为什么要浪费返回值去做某些多余的事情呢?这样的函数...

36得票2回答
‘strcpy’和‘strcpy_s’之间的区别是什么?

当我尝试使用strcpy来复制一个字符串时,编译出现了错误。 error C4996 'strcpy': This function or variable may be unsafe. Consider using `strcpy_s` instead. To disable depr...