- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经从字符串库中编写了 strupr 函数的实现。当我调用这个函数时,程序崩溃了。我已经找到了另一种让它工作的方法,但我想知道为什么这个版本不起作用。程序恰好在执行 *str = (*str) - 32;
指令时崩溃。
#include <iostream>
using namespace std;
char * my_strupr(char * str)
{
char * result = str;
while(*str != '\0')
{
if(*str >= 'a' && *str <= 'z') *str = (*str) - 32;
str ++;
}
return result;
}
int main()
{
char * str = "some text";
cout << my_strupr(str);
return 0;
}
在这种情况下我必须使用指针,它们在我的任务中是必需的。
最佳答案
编译器将字符串存储在只读内存中,而您在尝试修改此内存时遇到段错误。这是讨论 here
关于c++ - 使用我的 strupr 实现时程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731182/
当我在 Windows 上使用代码块构建此代码时,它显示控制台窗口并停止运行,请帮助我修复它 #include #include int main () { char *str="thes
我编写了这个程序,用于将给定输入的元音转换为大写,将辅音转换为小写。一旦字符串转换为大写,它就会转换为小写,但我没有使用 strlwr。这是代码。 void main() { char a[2
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
这个问题已经有答案了: Crash or "segmentation fault" when data is copied/scanned/read to an uninitialized point
我已经从字符串库中编写了 strupr 函数的实现。当我调用这个函数时,程序崩溃了。我已经找到了另一种让它工作的方法,但我想知道为什么这个版本不起作用。程序恰好在执行 *str = (*str) -
我正在编写代码,我在一个编译器中尝试过,一切顺利,但在另一个编译器中它说“函数 strupr 未在此范围内声明”。我不明白为什么会这样。这是我的代码: #include #include int
在 gcc 上编译后运行以下代码时,出现段错误。 #include #include int main(void) { struct emp { char *n;
这是我的代码。 int main() { struct emp { char *n; int age; }; struct emp e1 = {"Dravid", 23}; struc
我正在尝试使用我在网上找到的代码来实现更大的算法,但 Xcode 不支持此功能。我尝试使用库 curses.h(因为 conio.h 未在 Xcode 中定义)但我找不到等效的命令。 最佳答案 在 X
我在网上找的,到处都有string.h的函数,这两个都没有提到。 是因为什么?它们不是在每个编译器中吗? 最佳答案 它们是 Microsoft C 库中的非标准函数。此后,MS 弃用了它们,取而代之的
我是一名优秀的程序员,十分优秀!