我希望修改gpsfeed +以添加一个部分,该部分在模拟器运行时将NAV字符串写入文本文件。该工具是用tcl编写的,我不知道自己需要做什么。到目前为止我所拥有的是:
if {$prefs(udp) & $::udpOn} {
# opens file to write strings to
set fp [open "input_NAV.txt" w+]
# one sentence per udp packet
foreach line [split $::out \n] {
puts $fp $line
}
close $fp
}
现在,如果打开UDP广播,我想通过UDP广播每个NAV字符串并将其写入文件。但上面的代码只写了1个字符串,然后覆盖了字符串。我一直试图添加一个/ n开关,但我没有任何快乐。
答案 0 :(得分:2)
我使用错误的模式打开文件: w +打开文件进行读写。如果它存在则截断它。如果它不存在,请创建一个新文件。
我应该使用以下任何一种方法:
a打开文件仅供写入。如果该文件不存在,请创建一个新的空文件。在每次写入之前将文件指针设置为文件末尾。
a +打开文件进行读写。如果该文件不存在,请创建一个新的空文件。将初始访问位置设置为文件末尾。
答案 1 :(得分:1)
这是评论,但格式化。
此代码:
foreach line [split $::out \n] {
puts $fp $line
}
相当于:
puts $fp $::out