Learning about formatIO
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var tlc, tcc, twc int
|
||||
for _, fname := range os.Args[1:] {
|
||||
|
||||
var lc, cc, wc int
|
||||
file, err := os.Open(fname)
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, err)
|
||||
continue
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
scan := bufio.NewScanner(file)
|
||||
for scan.Scan() {
|
||||
s := scan.Text()
|
||||
|
||||
wc += len(strings.Fields(s))
|
||||
cc += len(s)
|
||||
lc++
|
||||
}
|
||||
tlc += lc
|
||||
tcc += cc
|
||||
twc += wc
|
||||
if err := scan.Err(); err != nil {
|
||||
fmt.Printf("Invalid Input: %s", err)
|
||||
}
|
||||
|
||||
fmt.Printf("%5d %5d %5d %s\n", lc, cc, wc, fname)
|
||||
}
|
||||
fmt.Printf("%5d %5d %5d %s\n", tlc, tcc, twc, "total")
|
||||
}
|
||||
Reference in New Issue
Block a user