dsfdf854456 2016-06-03 17:32
浏览 36
已采纳

写入文件int转换为字符串

I just want simply write to file a string converted from int. But f.WriteString instead of number write a symbols from ASCII code table.

I expected "noReport = 12320 nr3h = 105 nr2h = 162 nr1h = 38 ok = 16899"

But instead got "noReport = 〠 nr3h = i nr2h = ¢ nr1h = & ok = 䈃"

  • 写回答

2条回答 默认 最新

  • dsa1234569 2016-06-03 17:46
    关注

    https://play.golang.org/p/QAXJ4aJBy3

    fmt.Printf("os.StdOut is %T
    ", os.Stdout)
    os.Stdout.WriteString("noReport = 12320 nr3h = 105 nr2h = 162 nr1h = 38 ok = 16899 
    ")
    os.Stdout.WriteString("12320")
    
    //Output
    //os.StdOut is *os.File
    //noReport = 12320 nr3h = 105 nr2h = 162 nr1h = 38 ok = 16899 
    //12320
    

    Works fine for me.

    Give us your code, please.

    UDP

    string(noReport), noReport is integer right? Thats expected behavior.

    Use strconv.Itoa(noReport).

    noReport := 12320
    nr3h := 105
    nr2h := 162
    nr1h := 38
    ok := 16899
    os.Stdout.WriteString("noReport = "+ strconv.Itoa(noReport) + " nr3h = " + strconv.Itoa(nr3h)+ " nr2h = "+ strconv.Itoa(nr2h)+ " nr1h = "+ strconv.Itoa(nr1h) + " ok = "+ strconv.Itoa(ok)+ "
    ") 
    

    Or evanmcdonnal's answer.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?