将固定长度的填充行写入文件Go
对于印刷,合理和固定长度,似乎是每个人都在问的,我发现了很多例子,比如将固定长度的填充行写入文件Go,go,byte,padding,Go,Byte,Padding,对于印刷,合理和固定长度,似乎是每个人都在问的,我发现了很多例子,比如 package main import "fmt" func main() { values := []string{"Mustang", "10", "car"} for i := range(values) { fmt.Printf("%10v...\n", values[i]) } for i := range(values) { fmt.Print
package main
import "fmt"
func main() {
values := []string{"Mustang", "10", "car"}
for i := range(values) {
fmt.Printf("%10v...\n", values[i])
}
for i := range(values) {
fmt.Printf("|%-10v|\n", values[i])
}
}
形势
但是如果我需要用固定长度的字节写入一个文件呢
例如:如果我有这样的要求,那么将这一行写入一个文件,该文件必须是32字节,左对齐,右加0
问题
那么,在写入文件时如何实现这一点呢?有类似于
fmt.PrintXX()
函数的函数,这些函数以F
开头,形式为fmt.FprintXX()
。这些变体会将结果写入,也可能是
因此,如果您有要指向文件的语句,只需将它们改为调用,将文件作为第一个参数传递:
var f *os.File = ... // Initialize / open file
fmt.Fprintf(f, "%10v...\n", values[i])
如果您研究fmt.Printf()
的实现:
它正是这样做的:它调用fmt.Fprintf()
,将os.Stdout
作为要写入的输出
有关如何打开文件的信息,请参见
参见相关问题:有类似于
fmt.PrintXX()
函数的函数,这些函数以F
开头,形式为fmt.FprintXX()
。这些变体会将结果写入,也可能是
因此,如果您有要指向文件的语句,只需将它们改为调用,将文件作为第一个参数传递:
var f *os.File = ... // Initialize / open file
fmt.Fprintf(f, "%10v...\n", values[i])
如果您研究fmt.Printf()
的实现:
它正是这样做的:它调用fmt.Fprintf()
,将os.Stdout
作为要写入的输出
有关如何打开文件的信息,请参见
请参阅相关问题:如果您想要字符串,那么您可以使用
fmt.Fprintf()
而不是fmt.Printf()
。或者fmt.Sprintf()
如果您想要字符串,那么您可以使用fmt.Fprintf()
而不是fmt.Printf()
。同样相关:谢谢大家,我认为这有助于我的理解,并为我指明了正确的方向。知道要问什么问题会有帮助。另外,对于其他阅读本文的人,我发现了这些方便的填充函数。RightPad2Len感谢大家,我认为这有助于我的理解,并为我指明了正确的方向。知道要问什么问题会有帮助。另外,对于其他阅读本文的人,我发现了这些方便的填充函数。右pad2len