【问题标题】:How can I convert a "()" type to String?如何将 \"()\" 类型转换为字符串?
【发布时间】:2022-08-18 21:54:14
【问题描述】:

我想制作一个笔记应用程序,它可以在用户关闭它后保存笔记,我尝试制作一个 \".txt\" 文件并将所有笔记写在上面,这是我到目前为止所做的:

use std::io::stdin;
use std::path::PathBuf;

fn main() {
    let file_name = \"dont_open.txt\";

    println!(\"hello wanna take notes?(max 3)\");
    let hm = String::new();
    let mhm = String::new();
    let maybe = String::new();

    let _converted_1 = readinput(hm);
    let _converted_2 = readinput(mhm);
    let _converted_3 = readinput(maybe);
    

    let file_path = PathBuf::from(r\"PATH\").join(file_name);   

    std::fs::write(file_path, _converted_1  );
}

fn readinput(mut input:String) {
    stdin().read_line(&mut input)
        .ok()
        .expect(\"Failed to read line\");
}

我得到了

the trait bound `(): AsRef<[u8]>` is not satisfied
the trait `AsRef<[u8]>` is not implemented for `()`
  • 您期望_converted_1 等是什么?
  • 你的 readinput 函数实际上并没有返回任何东西。
  • 所以 rust 分析器使它成为 :() 类型我假设这是函数,我想把它变成字符串,所以 std::fs::write 可以读取输入
  • @isaactfa 嗯好的,所以我只需要添加 \"-> String\"?

标签: rust


【解决方案1】:

好的,所以我做了这件事感谢@isaactfa,我添加了 -> String to readinput 并将 stdin() 存储到变量并使用添加了 .to_string()

这是最终结果:

use std::io::stdin;
use std::path::PathBuf;

fn main() {
    let file_name = "dont_open.txt";

    println!("hello wanna take notes?(max 3)");
    let hm = String::new();
    let mhm = String::new();
    let maybe = String::new();

    let _converted_1 = readinput(hm);
    let _converted_2 = readinput(mhm);
    let _converted_3 = readinput(maybe);


    let file_path = PathBuf::from(r"PATH").join(file_name);  
      

    std::fs::write(file_path, _converted_1  );
}

fn readinput(mut input:String) -> String {
    let final_product = stdin().read_line(&mut input)
                            .ok()
                            .expect("Failed to read line");
    return final_product.to_string();
}

【讨论】:

    猜你喜欢
    • 2012-09-19
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 2019-01-21
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多