问题描述
我是 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
中的字符串(赋值不会做).