一份课设作业引出的问题
这两天接了一份课设代写,套路居多,但我还是遇到了不太熟悉的情况,那就是c语言程序中的汉字提取和分离。
在这份课设要求里,要求实现用“程序+设计”这类词组组合,找到含有这两个词组的对应名称。一开始我用数组遍历+strstr()
做了,这对英文和数字是适用,但用数组或者指针遍历不能适应汉字的存储方式,只能另寻途径。
要实现这个功能,还是用一开始的思路:先词组分离,再strstr()
。
如何实现词组分离呢?我用了strstr(str,"+")
试图得出开头是加号的指针,但谜之错误,难道字符串里只有一个字符就不是字符串了?
随后,我就strchr(str,'+')
,成功得到了相应指针,指针+1后,就得到了第二个词语的地址str2。第一个词语的地址应该怎么得到呢?这时候要请出strncat(str1,str,num)
,这个函数能把str前num个字符赋给str1,num由strlen(str)-strlen(str2)-1
计算。
分离后用strstr()
的返回值来判断str1和str2在同一个字符串中出现。!NULL
就是出现了。
关于c语言字符串操作总结,在此不赘述了。大家可以看这篇博文:https://www.cnblogs.com/1996-1-0-3-0/p/9470304.html
今天要补补计算机网络,这个课的线上教学方式太烂了。补了些后看看flask或者算法书。