当前位置: 首页 > 面试题库 >

C语言中的strtok_r和strtok_s有什么区别?

从光启
2023-03-14
问题内容

我正在尝试在需要能够在Linux和Windows中进行编译的C程序中使用此功能。最初,我尝试使用strtok_r,但随后在Windows上编译时,它抱怨该函数不存在,并说它将假定它是一个extern函数,但随后失败。然后,我使用strtok_s进行编译!然后,我在Linux上进行了尝试,但现在它抱怨存在“对’strtok_s’的未定义引用”。

是一个仅Windows功能,另一个是Linux功能吗???我该怎么做才能在两者上进行编译?


问题答案:

这两个函数对于解析字符串来说都是非常丑陋,不直观的习惯用法,通常无法以微妙的方式满足特定应用程序的要求。甚至对于strtok标准C语言中的普通用户而言,只需将它们扔掉并编写您自己的代码即可遍历char数组,并根据需要对其进行分解。strchr,,strspnstrcspn可以帮助您执行此操作,或者您可以从头开始对阵列进行操作。



 类似资料:
  • 问题内容: 在阅读了有关该主题的一些资料之后,我仍然不确定编译语言和解释语言之间的区别。有人告诉我这是Java和JavaScript之间的区别之一。有人能帮我理解吗? 问题答案: 编译语言和解释语言之间有什么区别? 区别 不 在于语言。它在 执行中 。 从我的系统中得到了答案,这是一个答案: 在编译的实现中,原始程序被转换为本地机器指令,这些指令直接由硬件执行。 在解释的实现中,原始程序被翻译成其

  • 本文向大家介绍C语言和C++的6点区别,包括了C语言和C++的6点区别的使用技巧和注意事项,需要的朋友参考一下 C语言和C++的区别 (1)面向过程语言和面向对象语言 C语言是面向过程语言,即先分析出解决问题的步骤然后再将这些步骤一一实现 C++是面向对象语言,即把问题分成若干个对象,目的是为了描述某个事物在解决整个问题的步骤中的行为 (2)关键字不同 C语言中有32个关键字,而C++有63个关键

  • 我正在从Java过渡到C,对<code>long</code>数据类型有一些疑问。在Java中,要保存大于2的整数<sup>32<sup>,只需编写<code>长x 。然而,在C语言中,<code>long</code>似乎既是数据类型又是修饰符。 似乎有几种方法可以使用: 还有,好像还有这样的事情: 等等 所有这些不同的数据类型之间有什么区别,它们都有相同的目的吗?

  • 本文向大家介绍C#中的IEnumerable和IQueryable有什么区别?,包括了C#中的IEnumerable和IQueryable有什么区别?的使用技巧和注意事项,需要的朋友参考一下 IEnumerable存在于System.Collections命名空间中。 IQueryable存在于系统中。Linq命名空间。 IEnumerable和IQueryable都是正向收集。 IEnumera

  • 本文向大家介绍C语言与JAVA的区别是什么(推荐),包括了C语言与JAVA的区别是什么(推荐)的使用技巧和注意事项,需要的朋友参考一下 首先来说说他们各自的历史:C语言的发展历史 C语言的发展颇为有趣。它的原型ALGOL 60语言。(也成为A语言) 1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 1967年,剑桥大学的M

  • 问题内容: 我知道,,,,,和其他一些人都没有的功能,但语言结构。 这些语言构造中的一些需要括号,而其他则不需要。 有些具有返回值,有些则没有。 那么语言构造和内置函数之间的 内部 区别是什么? 问题答案: (这比我打算的要长;请耐心等待。) 大多数语言由一种称为“语法”的东西组成:该语言由几个定义明确的关键字组成,并且您可以用该语言构造的完整表达范围都是由该语法建立的。 例如,假设您有一个简单的