微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++ GTKMM,在文本缓冲区中获得奇怪的输出

如何解决C++ GTKMM,在文本缓冲区中获得奇怪的输出

我是 Gtkmm 的新手,正在尝试将 txt 文件加载到文本缓冲区中。当我启动我的程序时,我得到这样的输出Output

我填充文本缓冲区的代码如下所示:

library(dplyr)
iris %>% 
    group_by(Species) %>% 
    summarise(across(everything(),~
       list(identify_outliers(cur_data(),all_of(cur_column())))),.groups = 'drop')
# A tibble: 3 x 5
#  Species    Sepal.Length     Sepal.Width      Petal.Length     Petal.Width     
  <fct>      <list>           <list>           <list>           <list>          
#1 setosa     <df[,6] [0 × 6]> <tibble [2 × 6]> <tibble [4 × 6]> <tibble [2 × 6]>
#2 versicolor <df[,6] [0 × 6]> <df[,6] [0 × 6]> <tibble [1 × 6]> <df[,6] [0 × 6]>
#3 virginica  <tibble [1 × 6]> <tibble [3 × 6]> <df[,6] [0 × 6]>

如何修复错误输出以及为什么会得到它?

解决方法

这里的主要问题是分配 output = line 后跟 free(line)

因为 output 指向与 line 相同的内存,这意味着 output 变得无效。

要么在处理完字符串之前不要释放内存,要么复制 line 中的字符串(赋值不会做).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。