小编use*_*152的帖子

在LinearLayout中放置3个按钮以占用相等的空间

我希望有三个按钮水平连续占用相同数量的可用空间.我用过android:layout_gravity.问题是什么?

layout xml:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1.0"
    >

    <Button android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/Bg"
            android:background="@drawable/button_red"
            android:layout_weight=".2"
            android:layout_gravity="left"
    />
    <Button android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/Bm"
            android:background="@drawable/button_red"
            android:layout_weight=".2"
            android:textColor="#ffffff"
            android:layout_gravity="center"
    />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_red"
        android:layout_weight=".2"
        android:text="@string/Bf"
        android:layout_gravity="right"
    />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

如果有人看到什么错,谢谢.

android android-layout

41
推荐指数
2
解决办法
6万
查看次数

C删除字符串末尾的换行符很奇怪

所以我有以下代码:

printf("the output is: %s.\n", intCAPass);
Run Code Online (Sandbox Code Playgroud)

其中打印以下内容:

the output is: intercapass
.
Run Code Online (Sandbox Code Playgroud)

所以我尝试了以下两个选项来摆脱字符串末尾的换行符intCAPass:

intCAPass[strlen(intCAPass)- 1] = '\0';
strtok(intCAPass,"\n");
Run Code Online (Sandbox Code Playgroud)

但两者都给我以下输出:

.he output is: intercapass
Run Code Online (Sandbox Code Playgroud)

所以我想知道这里发生了什么.

更多信息:

操作系统:Linux

变量intCAPass从读取包含文件的函数接收字符串interca\n.所以,我使用一个缓冲区,我在其中复制整个文件,最后我做了buffer[len] = '\0';,在某些时候我认为它可能会导致一些问题,但我不这么认为.

c string newline

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

SQL"REFERENCE"会自动生成"FOREIGN KEY"

使用REFERENCE时我们还需要使用FOREIGN KEY,两者之间有什么区别.

例如:

CREATE TABLE Orders (
    OrderID int NOT NULL PRIMARY KEY,
    OrderNumber int NOT NULL,
    PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Run Code Online (Sandbox Code Playgroud)

与:

CREATE TABLE Orders (
    OrderID int NOT NULL PRIMARY KEY,
    OrderNumber int NOT NULL,
    PersonID int REFERENCES Persons(PersonID)
);
Run Code Online (Sandbox Code Playgroud)

它似乎工作没有包括关键字"外键",所以我想知道在w

我觉得这是一个非常基本的问题,但无法找到答案.

sql sql-server foreign-keys

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

导入旧的 wsl tar 包后如何更改默认用户?

我使用--import旧的 wsl tar 包来设置 wsl,命令如下: wsl --import ubuntu1804 c:\WSL c:\temp\ubuntu1804.tar

除了 wsl 的默认用户是 root 之外,它工作正常。我从https://learn.microsoft.com/en-us/windows/wsl/收到帮助消息, 建议使用类似ubuntu configor ubuntu18.04 config... 的命令,但由于我使用“导入”模式设置 wsl,因此没有“我的系统中的 t ubuntu* 二进制文件

你知道如何更改wsl的默认用户吗?

windows-subsystem-for-linux

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

快速替换多个字符

我有一个字符串,想删除一组字符。有没有比链接多个更好的方法replace()

我想出了以下内容,但需要replace()对每个角色进行调用:


WITH my_table(id, a_string) AS (
     VALUES
         (1, 'test{' || CHR(39) || '}xyz'),
         (2, 'x'),
         (3, '{y}'),
         (1, 'z'),
         (2, 'none'),
         (3, 'none' || CHR(39) || 'xyz')
)
SELECT replace(replace(replace(a_string,CHR(39)),'{'),'}') FROM my_table
Run Code Online (Sandbox Code Playgroud)

这是一个最小的例子,我有更多的字符需要转义,所以我正在寻找一种不太冗长的方法来实现这一点。我在文档中没有找到能够直接执行此操作的字符串函数。

谢谢。

regex sql string replace presto

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