Jef*_*err -3 c++ encryption char-pointer caesar-cipher
所以我想尝试使用Ceasar Cipher char *,我写了一个简单的函数:
char * Encrypt(char * s, int k)
{
char * c = s;
for(int i = 0; i < strlen(s); i++)
c[i] += k;
return c;
}
Run Code Online (Sandbox Code Playgroud)
这似乎看起来应该有效,但事实并非如此.它在运行程序时抛出错误.
以下是我如何调用此函数的示例:
int main()
{
cout << Encrypt("hello", 2) << endl;
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在你说"为什么不只是使用string?"之前,答案是我在某个SDK上编写C++,在使用时会导致编译器错误string.好的但是,任何形式的帮助都将非常感谢,谢谢!
字符串文字"Hello"是只读的.如果您尝试修改此类字符串,则会出现未定义的行为.
在C++中,字符串文字实际上是常量字符的数组.
使用char*访问字符串文字应该让你的编译器向你尖叫警告.如果不是,您需要调高警告级别或启用更多警告.
如果你真的用C++编程,我建议你学习std::string并找到一本好的初学者书来阅读.
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |