小编Yan*_*321的帖子

std :: get_time - 如何检查解析错误

我使用以下代码将字符串流解析为tm结构:

std::tm tm;
std::stringstream ss("Jan 9 2014 12:35:34");
ss >> std::get_time(&tm, "%b %d %Y %H:%M:%S");
Run Code Online (Sandbox Code Playgroud)

我有兴趣检查是否发生了解析错误(无效输入).看来这个函数不会抛出异常.没有在文档中找到有用的信息:http: //en.cppreference.com/w/cpp/io/manip/get_time

听起来像'goodbit'可能是方向,但我不知道该怎么做.

(我使用的是VS2013编译器)

c++ windows

9
推荐指数
2
解决办法
1875
查看次数

将printf重定向到awk中的文件

我有一个简单的bash脚本.

它的目的是监视http访问日志文件(test.log)并将更新的命中率输出到文件(out.log):

  stdbuf -o0 tail -f test.log | awk -F'[ "]+' '{
  ipcount[$1]++;
  print "test" > "out.log"; #Truncate out.log
  for (i in ipcount) {
        printf "%15s - %d\n", i, ipcount[i] >> "out.log";
        printf "%15s - %d\n", i, ipcount[i] }
}'
Run Code Online (Sandbox Code Playgroud)

主要逻辑是有效的.我唯一的问题是重定向到"out.log"似乎不起作用.最后一个printf将预期结果输出到标准输出.但另外两个printf没有输出任何东西到"out.log",我无法弄清楚为什么.out.log拥有所有权限(777)

linux bash awk

6
推荐指数
1
解决办法
2万
查看次数

golang:从[]字节获取字符串

我是新手(来自C++世界)

我创建了一个新的编写器,它从io.writer"继承":

type httpWriter struct {
  io.Writer
}
Run Code Online (Sandbox Code Playgroud)

接下来我实现了io.Writer接口的Write()函数:

func (w *httpWriter) Write(p []byte) (n int, err, error){...}
Run Code Online (Sandbox Code Playgroud)

然后,我将所有输出重定向到该编写器.

我有权在Write()实现中打印实际的字符串.我已经尝试了我可以在文档中找到的所有字符串格式,但没有一个给我原始字符串作为输出.

fmt.Printf("%s\n",p) \\etc..
Run Code Online (Sandbox Code Playgroud)

希望得到帮助

go

1
推荐指数
1
解决办法
378
查看次数

标签 统计

awk ×1

bash ×1

c++ ×1

go ×1

linux ×1

windows ×1