如何解决此错误,为什么我得到它?

时间:2019-05-21 08:21:20

标签: c

我需要将12小时的时间转换为24小时的格式。

我现在硬编码了12小时的时间,以使事情变得更简单。

我的逻辑: 输入字符串07:05:45 PM 提取最后2个字符。 如果是上午 检查是前2个字符为12.。如果是,则将它们设置为00 否则按原样输出 如果下午 检查前两位数字是否为12 ..如果是,请保持原样 如果不是,则在前2位数字前加12

class CitizenLoginWebView extends Component {  
  render() {
    return (
      <WebView 
        source={{uri: citizenLoginUrl}} 
        onNavigationStateChange={navState => {
          if (navState.title === "Consent Platform") {
            if (hasWordsInString(navState.url, searchWords)) {
              // WANT TO NAVIGATE TO A SCREEN FROM HERE
              console.log('Words found');
            } 
          }     
        }}
      />
    );
  }  
}

总线错误:运行代码时出现的错误是10

1 个答案:

答案 0 :(得分:0)

问题出在

 strcpy(s1, s);

您实际上是在尝试写入指向 string文字的第一个元素的指针。它调用undefined behaviour

检查函数调用

timeConversion(str);

其中str指向字符串文字,而任何试图修改字符串文字内容的尝试都是UB。

timeConversion()函数中您需要做的是:

  • 已分配了所需的内存量(调用malloc()是一种方式)
  • 使用它来保存修改后的输出
  • 将指针返回给调用者。
  • 使用完内存后释放内存。