我想用perror打印变量,即我想写一些像perror("error with something %s", my_var)
是否有可能,我该怎么做?
答案 0 :(得分:8)
使用fprintf()
代替
fprintf(stderr, "error with something %s", my_var);
perror("");
否则你可以构建一个字符串,然后将它传递给perror
char yourstring[100];
snprintf(yourstring, sizeof yourstring, "error with something %s", my_var);
perror(yourstring);
答案 1 :(得分:0)
我知道它已经被回答了,但是我觉得它有一个更干净的版本
fprintf(stderr, "Error on line %d : %s\n", __LINE__, strerror(errno));
// Error on line 42 : Wrong argument