今日はRustを学び始めましたが、今はしばらくプログラミングしています...しかし、Rustの単純な文字列をトリミングすることはできません。TCPストリームから受け取った文字列を切り捨てることができません
# client
$ nc localhost 3500
hello
$ ...
# server output
Received string: hello
, Rust! ..
:私は、だから、ここ
stream
が
TCPStream
ある、と私は
trim()
を使用していたとしても、次のコードの出力は
... &[0 .. length - 2]
、trim()
、trim_right()
をスライス使用してみましたが、何も助けていないようにみえ
let mut buffer = [0; 2048];
let _ = stream.read(&mut buffer);
let s = format!("{}, Rust!", String::from_utf8_lossy(&buffer).trim());
println!("Received string: {} ..", s);
更新:from_utf8_lossy
は長さが2048の文字列を返しているように思えます!私は十分に長い文字列を送信し、スライスを取るとき、それは最終的に動作します...
念のため、ここでは完全なソースです:
https://gist.github.com/Mazyod/8f6807e2c859b3457eaa4bcf24d5d703
@Neikos "hello"という文字列を 'nc'を使って書き出しています。これは何かを読み取っていることを確認していますか? – Mazyod
はい、私はコードを誤読し、 'println'の代わりに' format'を使用していませんでした – Neikos