访问冲突写入位置0x0120FA68 我试图为C++编写一个程序,它将通过空格分割文本,并且我不断地获得错误访问违规写入位置0x0120 FA68。代码如下: #include <string> #include <stdlib.h> #include <stdio.h> #include <iostream> #include <list> #include <vector> int main(int argc, char* argv[]) { std::vector<char*> testVector; char* string1 = "test f"; char seperators[] = " "; char* token1; char *next_token1; int counter = 0; token1 = strtok_s(string1, seperators, &next_token1); while (token1 != NULL) { if (token1 != NULL) { std::cout << "\n" << token1 << std::endl; testVector.push_back(token1); token1 = strtok_s(NULL, seperators, &next_token1); counter++; } } std::cout << testVector.at(0); system("pause"); return 0; } #包括 #包括 #包括 #包括 #包括 #包括 int main(int argc,char*argv[]) { std::vector testVector; char*string1=“测试f”; 字符分隔符[]=“”; 字符*1; char*next_token1; int计数器=0; 令牌1=strtok_s(string1、分隔符和next_令牌1); while(token1!=NULL) { 如果(令牌1!=NULL) { std::cout

访问冲突写入位置0x0120FA68 我试图为C++编写一个程序,它将通过空格分割文本,并且我不断地获得错误访问违规写入位置0x0120 FA68。代码如下: #include <string> #include <stdlib.h> #include <stdio.h> #include <iostream> #include <list> #include <vector> int main(int argc, char* argv[]) { std::vector<char*> testVector; char* string1 = "test f"; char seperators[] = " "; char* token1; char *next_token1; int counter = 0; token1 = strtok_s(string1, seperators, &next_token1); while (token1 != NULL) { if (token1 != NULL) { std::cout << "\n" << token1 << std::endl; testVector.push_back(token1); token1 = strtok_s(NULL, seperators, &next_token1); counter++; } } std::cout << testVector.at(0); system("pause"); return 0; } #包括 #包括 #包括 #包括 #包括 #包括 int main(int argc,char*argv[]) { std::vector testVector; char*string1=“测试f”; 字符分隔符[]=“”; 字符*1; char*next_token1; int计数器=0; 令牌1=strtok_s(string1、分隔符和next_令牌1); while(token1!=NULL) { 如果(令牌1!=NULL) { std::cout,c++,C++,函数的strtok()系列修改它们的输入字符串。您在字符串文本上调用它,某些编译器将其存储在用户不可写的内存中。您可以使用strcpy()修复此问题< /代码>将字符串文字复制到一个缓冲区中,然后你可以自由修改。< /P>你确定在输出第一个元素之前向量中是否有任何东西?为什么你不使用C++的容器容器和C++算法来处理容器?你是什么意思?我对这种东西很陌生。Sorry.sorry,但是我怎么办?这样做,因为在IM使用它给我一个错误,说错误1错误C499 6:StrucPy:这个函数或变量可能是不安

函数的
strtok()
系列修改它们的输入字符串。您在字符串文本上调用它,某些编译器将其存储在用户不可写的内存中。您可以使用
strcpy()修复此问题< /代码>将字符串文字复制到一个缓冲区中,然后你可以自由修改。< /P>你确定在输出第一个元素之前向量中是否有任何东西?为什么你不使用C++的容器容器和C++算法来处理容器?你是什么意思?我对这种东西很陌生。Sorry.sorry,但是我怎么办?这样做,因为在IM使用它给我一个错误,说错误1错误C499 6:StrucPy:这个函数或变量可能是不安全的。考虑使用StrucPys代替。你可以安全地忽略那个警告——微软有一个“贬低”的习惯。他们认为危险的标准C库函数,并推荐他们自己的非标准替换。但是,如果警告困扰您,请继续使用strcpy_s()。请注意,如果您必须将代码移植到其他系统,则必须删除或重新实现这些例程的MS版本。我宁愿使用strcpy()但是它甚至会阻止程序启动。有没有办法修复它,因为我使用的是visual studio