2016-08-25 5 views
1

Rust (호기심 초보자!)의 stderr에 서식이 지정된 문자열을 인쇄하려고하는데 표준 브라우저에는 쉬운 편의 매크로 (print!/println! : stdout)가없는 것 같습니다. C에서녹 : stderr에 서식이 지정된 인쇄를 만드는 방법은 무엇입니까?

, 하나 같이 그것을 할 단지 수 :에

fprintf(stderr, "format_string", args ...); 

내가 성공적으로 마음에 와서

let stderr = std::io::stderr(); 
writeln!(&mut stderr, "literal"); 

다음 일은 함께 문자열을 리터럴 stderr를 인쇄 한이었다 format!을 먼저 수행 한 다음 writeln!, error: expected a literal으로 컴파일하지 못한 mut를 사용하십시오. 반면에 stderr.write()&[u8]을 예상하므로 String::bytes().collect()을 사용하면 실제로 작동하지 않습니다.

올바른 해결 방법은 무엇입니까?

답변

3

가끔은, 정말 간단 해결책 : writeln!()이 기능을 포맷하고 당신은하지만, useWrite 특성이 단지

use std::io::Write; writeln!(std::io::stderr(), "three plus four is {}!", 3 + 4); 

println!()로 작동하고있다.

+0

lol! : D 조 오케이, 고마워. /실패 – ehoopz