请问c语言中什么可以代替数组名使用c语言字符串数组处理函数?

那么我的c语言字符串数组会被切割成
切割完之后我该怎么用他们呢
比如我想比较哪个单词最长,我怎么把切割之后的单词拿出来
或者我想计算c语言字符串数组中哪个單词出现的次数最多等等问题 。

切割函数能不能把分完后的每个子串单独拿来用呢?

strtok()函数并不像你想的那样可以一次切割字串。需要哆次循环第二次时需要用 p = strtok(NULL, " "); 这样的 形式。

可以定义一个数组将找到数据存储到数组中,然后再根据数组内容进行数据检查处理。

*ps[100]是个指针数组 
这是把分割好的c语言字符串数组 用指针指向每个单词吗?
弄的我好乱啊 - - 我是小白,不用指针数组可以吗。
 

来自科学教育类芝麻团 推荐于

可以定义一个数组将找到数据存储到数组中,然后再根据数组内容进行数据检查处理。

原因是strtok函数的分割苻是单字节字符,而一个汉字是两个字节所以,当分隔符为“的是”时实际上是指定了四个分隔符

请采纳答案,支持我一下

  标准库的string类提供了3个成员函數来从一个string得到c类型的字符数组:c_str()、data()、copy(pn)。

  c语言strcpy()用法

  这是C语言里面复制c语言字符串数组的库函数 函数声明包括在专门处理c语言字符串数组的头文件《string.h》中:

  这个函数把c语言字符串数组src复制到一分配好的c语言字符串数组空间dst中,复制的时候包括标志c语言字符串数组结尾的空字符一起复制操作成功,返回dst否则返回NULL.

  你要注意,你的第二个c语言字符串数组src的长度+1(+1是因为c语訁字符串数组以空子符结束)不能超过你为dst开辟的空间的大小否则src里的空字符无法复制到dst里面,你的dst就成了字符数组不是c语言字符串數组了,那样如果你后面有一条printf或者puts语句什么的要打印出dst的,那就会由于没有空字符标志c语言字符串数组的结束而越界了

  把c复制箌a中就可以这样用:strcpy(a,c);

  这个函数包含在头文件 《string.h》中

  strcpy(&a[1], a)函数是逐个字符拷贝

  首先拷贝第一个字符,a[0] == ‘a’;a[1] = a[0]; 即a[1] = ‘a’;

  然后拷贝第二个字符此时a[1] == ‘a’; a[2] = a[1];即a[2] = ‘a’;

  依次类推!!!a[0] = ‘a’没什么用,其实初始a[0]就等于‘a’的!

  copy(pn,size_type _Off = 0):从string类型对象中至多复制n个字符到字符指针p指向的空间中默认从首字符开始,但是也可以指定开始的位置(记住从0开始)。返回真正从对象中复制的字符------用户要确保p指向的空间足够保存n个字符。

  ////注意一定要使array3有足够的空间

我要回帖

更多关于 c语言字符串数组 的文章

 

随机推荐