问题列表 - 第318013页

为什么 printf("%c", 0.21) 结果是 'ß'?

所以,这是我的 C 代码。当我为了学习格式说明符而摆弄我的代码时,尤其是%c:

\n
#include <stdio.h>\n\nvoid main()\n{\n    double a = 0.21;\n    printf("%c", a);\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我碰巧遇到这样的情况:即使我将浮点值作为printf()格式说明符的函数参数传递%c,编译器(我的编译器是gcc)也会以某种方式将该值转换为与 ASCII 字符相对应的0.21十进制值。223\xc3\x9f

\n

对于a = 0.22输出为:)其 ASCII 表中的十进制值为29

\n

我在VS code和CLion IDE上运行了代码,但结果是相同的。现在这让我摸不着头脑好几天了,我无法弄清楚。

\n

我想知道值0.21和0.22是如何转换成十进制的223,29或者它们如何分别对应于 ASCII 223 和 29 ie\xc3\x9f和)。

\n

由于值 0.21、0.22 不对应于任何 ASCII,因此我希望程序不会打印任何内容。

\n

但根据输出,我认为这可能与二进制文件有关。
\n由于二进制中的 0.21 是 0.00110101110000101000111101011100...
\n& 223 是 11011111 …

c printf format-specifiers

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

我收到错误:在“redux-thunk”中找不到导出“default”(导入为“thunk”)(可能的导出:thunk、withExtraArgument)

我使用“react-redux”:“^ 9.0.4”,“react-router-dom”:“^ 6.21.1”,“react-scripts”:“5.0.1”,“redux”:“^ 5.0。 0", "redux-thunk": "^3.1.0" 我想使用 React-Redux 在 React.js 中使用中间件创建登录,这是我的代码。

// src/middleware/store.js
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';

const guard = createStore(rootReducer, applyMiddleware(thunk));

export default guard;

Run Code Online (Sandbox Code Playgroud)
// src/middleware/actions.js
import axios from 'axios';

export const login = (username, password, history) => async (dispatch) => {
  try {
    const response = await axios.post('https://xxx-api.xxx-xxxxxxx.com/users/login', {
      username,
      password,
    });

    dispatch({
      type: 'LOGIN_SUCCESS',
      payload: {
        user: response.data.user,
      },
    });

    localStorage.setItem('token', response.data.data.token);
    
    history.push('/admin/dashboard');
  } catch …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux-thunk

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

替换可变引用中的字符串是否会泄漏内存?

我偶然发现了以下场景:

fn compute_values(value: &mut String) {
    // the first computation should always work:
    let computed_value = String::from("computed value");
    // override the default String with the computed value:
    *value = computed_value;
    // some more code that returns a Result with values or an error message
}

fn main() {
    let mut value = String::from("default value");
    compute_values(&mut value);
    println!("value: {value}")
}
Run Code Online (Sandbox Code Playgroud)

这段代码按照我的预期使用 my 进行编译rustc 1.74.1 (a28077b28 2023-12-04)并输出value: computed value,但问题是,该代码是否泄漏内存。

据我了解,*value = computed_value;进入并且它不再可用(rust编译器确认了这一点,我之后不能computed_value。)并且在函数作用域结束时不会取消分配。由于这一行有效地将 a 分配给 …

rust

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

我有一个“use”不起作用,即使它在我的 src 中

包含所有内容的目录称为p,位于p:

.git
.gitignore
Cargo.lock
Cargo.toml
todo.md
src
target
Run Code Online (Sandbox Code Playgroud)

是src:

action_functions.rs
execute_action_functions.rs
lib.rs
main.rs
network.r
Run Code Online (Sandbox Code Playgroud)

在network.rs:

pub mod network{
        use rand::Rng    //to generate random numbers
    //use crate::action_functions::{/*insert all the action functions */};
    use rand_distr::{Normal, Distribution}; //to generate different dist. of random numbers
    use serde::{Serialize, Deserialize};    //to save/load my neural network
    use std::fs::File;
    use std::io::{BufReader, BufWriter};
    use chrono::Utc;            //for timestamp
    use std::path::Path;        //for help in representing file paths

Run Code Online (Sandbox Code Playgroud)

然后我有一堆 pub 结构,然后我有impl NeuralNetwork { …

rust rust-crates rust-cargo rust-analyzer

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

加速寻找最佳分割线

这个编码问题源自这个问题。

考虑一个 n × n 的整数网格。任务是在网格上画一条直线,使包含左上角的部分之和达到尽可能大的数字。这是得分为 45 的最佳解决方案的图片:

在此输入图像描述

如果其中间位于线上或线上,则我们在要求和的部分中包含一个正方形。上面是指包括网格左上角的部分。(为了使这个定义更清楚,任何线都不能完全从网格的左上角开始。)

任务是选择一条线,使包含左上角正方形的部分的总和最大化。该线必须从一侧直线到另一侧。该线可以在一侧的任何位置开始或结束,而不仅仅是在整数点处。

给出的Python代码是:

import numpy as np
import fractions

def best_line(grid):
    n, m = grid.shape
    D = [(di, dj) for di in range(-(n - 1), n) for dj in range(-(n - 1), n)]
    def slope(d):
        di, dj = d
        if dj == 0:
            return float('inf') if di <= 0 else float('-inf'), -di
        else:
            return fractions.Fraction(di, dj), fractions.Fraction(-1, dj)
    D.sort(key=slope)
    D = np.array(D, dtype=np.int64)
    s_max = grid.sum()
    for grid in (grid, …
Run Code Online (Sandbox Code Playgroud)

python algorithm optimization performance

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

.NET 8 Microsoft Docker 映像:无法创建 CoreCLR,HRESULT:0x80070008

我今天将我的项目升级到.NET 8;我遵循了从 .NET 7 迁移到 .NET 8 的官方指南。但是,在部署应用程序时,我遇到了问题。

该解决方案在本地构建并运行良好。但是,在我的 Ubuntu 服务器上,当我运行docker-compose up -dMVC 应用程序容器时失败。当我通过查看日志时,docker logs <container id>我只看到:

无法创建 CoreCLR,HRESULT:0x80070008

我做了一些谷歌搜索,发现有些人说要添加ENV COMPlus_EnableDiagnostics=0我所做的,但这没有什么区别。

我不知道现在该怎么办;一切似乎都很好。

代码是开源的,这里是Dockerfile。这是我的 docker-compose 文件中的内容。

version: "3.7"

services:
  bejebeje-mvc:
    image: bejebeje/mvc:latest
    ports:
      - "5010:5005"
    env_file:
      - ./variables.env
    depends_on:
      - bejebeje-main-db
  bejebeje-main-db:
    image: postgres:12.4
    ports:
      - "8002:5432"
    volumes:
      - data-volume:/var/lib/postgresql/data
    env_file:
      - ./variables.env

networks:
  default:
    external:
      name: bejebeje_net

volumes:
  data-volume:
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

.net ubuntu docker .net-core docker-compose

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

stringr::str_glue() 不适用于 purrr::map()

有谁知道为什么下面不起作用?似乎stringr::str_glue()无法找到file_name参数,因为它位于purrr::map(). 我该如何解决这个问题?

library(tidyverse)

fn_render_ce_template <- function(
    template,
    file_name, 
    early_billing_cycle = NA,
    late_billing_cycle = NA,
    early_price = NA,
    late_price = NA,
    price_dollars = NA,
    price_cents = NA,
    year = NA
){
  template %>% 
    map_chr(str_glue) %>% 
    str_squish()
}

# this doesn't work
fn_render_ce_template(
  template = c('{file_name}_1', '{file_name}_2'), 
  file_name = 'test'
)
#> Error:
#> i In index: 1.
#> Caused by error:
#> ! object 'file_name' not found
#> Backtrace:
#>      x
#>   1. +-global fn_render_ce_template(...) …
Run Code Online (Sandbox Code Playgroud)

r purrr tidyverse r-glue

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

为什么硬编码的阿拉伯字母与 Unicode 代码点的值不同

我得到了这段代码来处理阿拉伯语文本,它演示了我的问题:

\n
\nmy $noon = "\xd9\x86";\nmy $code_point = charinfo(ord($noon))->{'code'};\nprint "Unicode code point for '\xd9\x86' (noon): U+$code_point\\n";\n\n$noon = "\\N{U+0646}";\n$code_point = sprintf("%04X", ord($noon));\nprint "Unicode code point for '\xd9\x86' (noon): U+$code_point\\n";\n$noon_code = 0x0646;\nprint (chr($noon_code), "\\n");\n
Run Code Online (Sandbox Code Playgroud)\n

它打印出:

\n
Unicode code point for '\xd9\x86' (noon): U+00D9\nUnicode code point for '\xd9\x86' (noon): U+0646\nWide character in print at code.pl line 11.\n\xd9\x86\n
Run Code Online (Sandbox Code Playgroud)\n

价值观不同。我使用 Linux Mint 文本编辑器(Xed)。\n编码时似乎无法使用硬编码的阿拉伯语,但我使用了文本文件,它们包含具有正确值的字母。

\n

linux unicode perl

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

当 v 可能为空时如何循环 0 .. v.len() - 1 ?

0 .. v.len() - 1当向量v可能为空时,正确的循环方法是什么?

考虑以下代码,它打印向量中 2 个元素的所有选择[5, 6, 7]:

fn main() {
  let v: Vec<i32> = vec![5, 6, 7];
  for i in 0 .. v.len() - 1 {
    for j in i + 1 .. v.len() {
      println!("{} {}", v[i], v[j]);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

它打印

5 6
5 7
6 7
Run Code Online (Sandbox Code Playgroud)

正如预期的那样。

现在,如果我们有

let v: Vec<i32> = vec![];
Run Code Online (Sandbox Code Playgroud)

那么程序就会因为溢出而出现恐慌,这也是意料之中的。

问:如何在不改变程序结构和逻辑、不涉及有符号整数的情况下修复它?

以下是我不想要的解决方法的一些示例:

  • 单独处理空v(改变逻辑)。总的来说,我不想要任何v空支票,例如if v.len() == 0 { 0 } …

integer-overflow unsigned-integer rust

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

如何从R中的字符串中删除第n次出现的字符?

我有以下字符串。

"File-2022-03-08-S1-PAR-C-J1-SET"
Run Code Online (Sandbox Code Playgroud)

如何删除第二次和第三次出现的破折号 (-) 并保留所有其他字符?本质上,我希望日期 (2023-03-08) 为 20230308。

r

4
推荐指数
2
解决办法
172
查看次数