草庐IT

strcpy_s

全部标签

C: 函数没有更新全局数组(使用 strcpy/malloc)

尝试从Windows中的目录获取文件名。通过名为list_files的函数执行此操作。该函数由于某种原因(或看起来像它)没有做任何事情,因为每当我打印数组时,它都是空的。我之前测试过这段代码,它运行良好。我一直在编码(这本来是一个更长的代码)我注意到每当我以后不得不使用数组时它返回0(什么都没有)voidlist_files();char*filesList[0][254];inti=0,n=0,l=254;chardirectory[]={"C:/Users/test/Downloads/test/"};intmain(){list_files();}voidlist_files()

java - Java 中的 strcpy 是什么?

Java中的strcpy是什么?Strings1,s2;s1=newString("hello");s2=s1;//Thisonlycopiess1tos2. 最佳答案 这个声明:s2=s1;将s1的值复制到s2中。该值只是一个引用,所以现在s1和s2指的是同一个对象。因此,如果这是一个可变类型(例如StringBuilder或ArrayList),那么您就应该担心了。但是,String是不可变的。您不能修改对象来更改其文本数据,因此只需复制引用就足够了。更改s2的值以引用不同的字符串(或将其设为null引用)将不会更改s1的值:S

c++ - strcpy c++ 无法从字符串 char* 转换参数 1

我正在尝试将txt文件*中的单词放入一个字符串数组中。但是strcpy()有错误。它说:'strcpy':cannotconvertparameter1from'std::string'to'char*'。这是为什么?难道不能在C++中创建这样的字符串数组吗?#include#include#includeusingnamespacestd;voidArrayFillingStopWords(string*p);intmain(){stringp[319];//lekseisstostopwordsArrayFillingStopWords(p);for(inti=0;i

C++ 赋值,strcpy 和 strlen 与字符数组 n 指针

我正在做这个作业,遇到了一个问题。有一次,我必须向用户询问两个输入命令以备后用,我希望将它们放入一个字符数组中。然后我想将他们的输入放入char*但我最终遇到了段错误这是我的一小部分代码,显示了我遇到问题的地方:#include#includeusingnamespacestd;intmain(){charfirstAns[80];char*command1[5];intansLen;//Askforcommandcout>firstAns;ansLen=strlen(firstAns);for(inti=0;i我运行它的程序编译得很好,但我已经将段错误缩小到程序的这一部分,作为新手程

c++ - 用 strncpy 替换 strcpy

假设我有一些遗留代码是使用对CSTL函数的不安全调用编写的,例如strcpy.我们都知道strcpy是不安全的,因为它使程序容易受到缓冲区溢出问题的影响。假设我想替换对strcpy的所有调用调用电话strncpy.一种替换对strcpy(dest,src)的所有调用的技术将涉及调用strncpy使用参数(dest,src,lengthofdest-1)然后终止dest与\0.我知道这个问题是我们并不总是知道dest的长度因为它可能是指向堆上分配的内存的指针。假设我可以算出dest的长度在这些调用站点中的每一个。我可以替换对strcpy的所有调用调用电话strncpy这将保证我的程序不受

c++ - strdup() 和 strcpy

voidx(){strcpy(a,strdup(p));}(错误)用strdup分配,strcpy不释放谁能告诉我上面的语句有什么问题以及为什么会出现此错误? 最佳答案 问题是你正在泄漏内存。对strdup的调用分配未释放的内存。传递给strcpy的指向内存的指针永远不会保存在任何地方,因此编译器可以证明它已泄漏。我不确定您要做什么,因为strdup执行分配和复制,对strcpy的调用似乎是多余的。 关于c++-strdup()和strcpy,我们在StackOverflow上找到一个类

c++ - strcpy... 想替换为 strcpy_mine,它将 strncpy 和 null 终止

线索在标题中,但基本上我继承了一些代码,其中有800多个strcpy实例。我想写一个新函数,然后用strcpy_mine替换strcpy。所以我正在尝试找出strcpy_mine的参数列表。我试过:voidstrcpy_mine(char*pTarget,constchar*constpCopyMe){constunsignedintlenAlwaysFour=sizeof(pCopyMe);//:(strncpy(pTarget,pCopyMe,lenAlwaysFour);//addextraterminatorincaseofoverrunpTarget[lenAlwaysFou

模拟strcpy库函数的实现(超详细)

⭐博客主页:️CSsemi主页⭐欢迎关注:点赞收藏+留言⭐系列专栏:C语言初阶⭐代码仓库:CAdvanced家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们的支持是我创作最大的动力,欢迎友友们私信提问,家人们不要忘记点赞收藏+关注哦!!!文章目录前言一、简介1.认识strcpy2.应用strcpy3.监视分析二、模拟实现strcpy1.初步实现2.输入空指针3.assert4.这阶段完整代码三、返回值1.返回类型2.const四、完整代码总结前言strcpy函数其实大家并不陌生,但是每次用的时候要么就复制到字符串的地方不对,要么就出现错误,那到底该怎么用这个函数

c++ - strcpy 中的段错误

考虑下面的程序charstr[5];strcpy(str,"Hello12345678");printf("%s",str);当运行这个程序时出现段错误。但是当strcpy替换为以下内容时,程序运行正常。strcpy(str,"Hello1234567");所以问题是,当尝试将长度超过5个字符的任何其他字符串复制到str时,它应该会崩溃。那么为什么它不会因为“Hello1234567”而崩溃而只会因为“Hello12345678”而崩溃,即长度为13或超过13的字符串。这个程序是在32位机器上运行的。 最佳答案 您应该对三种类型的标

c++ - 为什么指向 char 数组的指针必须需要 strcpy 才能将字符分配给它的数组,而双引号分配不起作用?

当您去删除指针时,第一个示例不起作用。该程序要么在我添加空终止符时挂起,要么没有它我得到:调试断言失败表达式:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)来自VisualStudio2008//Won'tworkwhendeletingpointer:char*at=newchar[3];at="tw";//那么当我使用双引号而不是strcpy时会发生什么?它们都将完美地计算出字符串,并且调试器不会显示任何不同。 最佳答案 当你做的时候char*at=...;at="hello";您基本上是用静态常量