|
|
1
12
|
|
|
2
4
strtok()将指针返回到其输入字符串中。您正在堆栈上向它传递一个缓冲区,在Entry::Entry返回后,该缓冲区将不再有效。 |
|
|
3
3
另一件事是你不应该把这个字符添加到指针中。我假设您想在字符串中添加一个终止符,但在C/C++中情况并非如此。实际上,您是将ASCII值(零)作为偏移量添加到指针上,这不起任何作用。如果需要终止符,则需要更改指针所指向的字符,而不是更改指针本身。但是strtok已经在找到的每一个令牌的末尾放上了终结符,不管怎样-在这种情况下没有必要这样做。 所以,我的建议是:
我将名称从tmp改为buffer,因为它不再是临时值。我还使用strncpy来防止缓冲区溢出。行缓冲区[sizeof buffer-1]='\0';这是因为如果行大于缓冲区,则在调用后不会有终止符。 |
|
|
4
1
实际上,如果在你的任务范围内,我建议你放弃
|
|
Ben · 统计向量中的单词在字符串中出现的频率 1 年前 |
|
|
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 1 年前 |
|
|
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 1 年前 |
|
|
user764754 · 防止多行原始字符串文字中出现新行字符 1 年前 |
|
|
Bogaso · 从列表中返回与模式匹配的元素 1 年前 |
|
|
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 1 年前 |