0

我正在读取一个 pgm 文件,以便对其应用一些过滤器并将结果重写为一个新的 pgm 文件。但是,我总是以二进制文件结尾(vim 不显示值,而是显示 ^G ^0 ^K 等内容,file-command 告诉我这是一个数据文件,而 imagemagick 无法打开该文件)

我写入文件的代码如下所示:

fd,err := os.Create(filename)
wr := bufio.NewWriter(fd)
//img is of type [][]int and holds the values to be written
str := "P2\n" + filename + "\n" + string(len(img[0])) + ...
if _,err := wr.WriteString(outStr); err != nil {..}

然后在我遍历 img 数组的循环中进行更多操作。

我在这里想念什么?

4

1 回答 1

4

string(len(img[0]))不做你想在这里做的事情。你需要strconv.Itoa

string(len(img[0]))正在创建一个包含作为 Unicode 代码点的任何字符的单个字符串len(img[0])(请参阅有关转换的规范部分

于 2013-08-16T18:45:47.420 回答