为什么内存集函数不起作用?
Why memset function doesn't work?
为什么memset函数在C 功能中不起作用,用char指针?
void change(char* input){
memset(input, 'a', strlen(input));
}
int main(){
char* p = "foo";
cout << p << endl;
change(p);
cout << p << endl;
}
您尝试修改字符串文字。字符串文字仅读取,您应该使用例如 const char*
向它们声明指针时。
修改(或尝试修改(常数或仅读取数据导致不确定的行为。
如果要修改字符串,则需要使用一个数组:
char p[] = "foo";
相关文章:
- C++为什么尽管我调用了void函数,它却不起作用
- 仅包含可移动 std::map 的类的移动构造函数不起作用
- 通过构造函数创建一些值并尝试添加到文档中使用 rapidjson 不起作用
- 编译在我的 Mac 上工作,但在集群 (Linux) 上不起作用
- 为什么我的数组双精度函数不起作用?
- 使用 va_arg 传递给函数va_list不起作用
- Windows.h 输入在函数之外不起作用
- 类和构造函数中的函数根本不起作用,并且不返回任何错误
- 类中的虚拟布尔函数参数不起作用
- getline 函数似乎在 C++ 中不起作用
- 将新放置与 std::函数一起使用不起作用
- binary_search() 函数在我的函数体中不起作用
- 为什么读取函数在 sha1 c++ 实现中不起作用?
- 在函数中声明的 ifStream 对象在发布模式下不起作用
- QObject::连接不起作用 - 使用函数语法找不到信号
- 从数组中删除元素不起作用的函数
- 为什么内存集函数不起作用?
- 在Visual C++中不起作用的函数的取消映射
- STL 集自定义排序函数在 Qunicy 2005 中有效,但在 MS Studio 2010 中不起作用
- C++将东西移到一个不起作用的函数中