小编Mik*_*ike的帖子

如何在C中覆盖部分字符串?

我有一个字符串.我只想更改字符串的开头几个字符,并保留原样.在C中执行此操作的最佳方法是什么?

#include <stdio.h>
#include <string.h>

int main() {
    char src[40];
    char src2[40];
    char dest[12];

    memset(dest, '\0', sizeof(dest));
    strcpy(src, "This is a string");
    strcpy(src2, "That");
    strncpy(dest, src, sizeof(src));
    strncpy(dest, src2, sizeof(src2));

    printf("Final copied string : %s\n", dest);
}
Run Code Online (Sandbox Code Playgroud)

我希望将字符串更改"This is a string""That is a string".

有没有一种简单的方法可以实现这个我想念的东西?

c c-strings

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

如何左对齐32位整数?

我有一个十六进制格式的32位整数变量说0x9B134880x1407E8.默认情况下,它与0x099B1348或是对齐0x001407E8.但我希望它与左对齐0x9B1348800x1407E800.任何人都可以帮助我吗?

c integer bit-manipulation

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

锯齿事务有效负载解码

我在Sawtooth上解雇了一笔交易.我可以使用API​​查看交易数据.我的问题是如何解码事务有效负载.

{
      "header": {
        "batcher_public_key": "03d58421f80cf7f2d51efd7f4fc28fd07a81de146f7d01acc70c9e5dcfdf2cc20f",
        "dependencies": [],
        "family_name": "document",
        "family_version": "1.0",
        "inputs": [
          "7d5acb"
        ],
        "nonce": "",
        "outputs": [
          "7d5acb"
        ],
        "payload_sha512": "9be6b4029768c2dda71b86eed2b1ba441442ec56714b863993f12aeab09242ef84087bc53b0cfadb93bbf99bcc7cdb8e03d71b1158887c8c3735abafb9765a43",
        "signer_public_key": "03d58421f80cf7f2d51efd7f4fc28fd07a81de146f7d01acc70c9e5dcfdf2cc20f"
      },
      "header_signature": "e4379a4a4f66c52677df299ddc136a968efb64fba9de30acdf230a719442cdc56c2cf55953c14bbc5cc68991a8bef156df3d32fcf6c37f201c279f6ad7065cab",
      "payload": "o2RWZXJiY3NldGROYW1leCBlZjlkMThjZGIwYjNkZDNmNWU1ZWE2MDliZjY3MDhmOWVWYWx1ZWA="
    }
Run Code Online (Sandbox Code Playgroud)

我想解码有效载荷":"o2RWZXJiY3NldGROYW1leCBlZjlkMThjZGIwYjNkZDNmNWU1ZWE2MDliZjY3MDhmOWVWYWx1ZWA=".
任何人都可以指导.

blockchain hyperledger hyperledger-sawtooth

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

使用返回0;in void 函数是否可能?

我最近在 code::blocks 中使用 C 编程向我的导师提交了一个大数乘法和除法项目。在代码中间,我错误地使用了 return 0; 在空函数中:

void division_function (char str1[MAX_STR_LEN], char str2[MAX_STR_LEN])
{
    int len1 = strlen(str1);
    int len2 = strlen(str2);
    int num1[len1];
    int num2[len2];

    // In case the second number has more digits:
    if (len2 > len1)
    {
        printf("\nResult of division = 0");
        printf("\nRemainder = %s ", str1);
        return 0 ;
    }
    //rest of the code
Run Code Online (Sandbox Code Playgroud)

无论如何,在提交后,讲师给我发邮件说,由于使用了 void 函数中的 return a value ,代码失败了!我知道我应该使用 (return;) 而不是 (return 0;) 因为 void 函数不返回任何内容!我的问题是为什么我的控制台中没有出现任何错误!我只是测试了这段代码:

#include <stdio.h>
#include <stdlib.h>
void function (); …
Run Code Online (Sandbox Code Playgroud)

c

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

如何验证硒中两个单词之间有多个空格的文本?

我想知道如何编写 Xpath 来验证文本 -'Confirm Passowrd*',其中两个单词之间有超过 10 个空格 在此输入图像描述

当我尝试使用 chropath 工具获取它时,它给出了 Xpath 就像

//label[contains(text(),'Confirm                            Password*')]
Run Code Online (Sandbox Code Playgroud)

但即使这样也行不通。

selenium xpath selenium-chromedriver selenium-webdriver

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

关于 break 语句

我对break声明有点困惑

例如,如果我在for循环内有一个while循环并且break在 for 循环内有一个循环:

break语句会跳出while循环吗?

c break

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

C中的十进制到二进制转换

实现inspect_bits函数,该函数检查给定数字是否在其二进制表示中包含2个或更多连续的.如果是,则该函数应返回1.否则,它应返回0.

例如,inspect_bits(13)应返回1,因为它在其二进制表示(1101)中包含2个连续的1.

该程序适用于某些数字,在这种情况下为13,还有一些,但是,该程序不适用于'8','10'以及其他一些数字.

#include <stdlib.h>
#include <stdio.h>

int inspect_bits(unsigned int number)
{
    int arr[32];
    int i=0,temp,c=0;;

    while(number > 0)
    {
        arr[i] = number%2;
        number = number/2;
        i++;
    }
    for (int j=i-1; j>=0; j--)
    {
        temp = arr[j];
            for (int k=j+1; k>0; k--)
            {
                if (temp==arr[k])
                c++;
            }
    }
    if (c != 0)
        return 1;
    else
        return 0;
}

#ifndef RunTests
int main ()
{
    printf("%d", inspect_bits(13));
}
#endif
Run Code Online (Sandbox Code Playgroud)

c binary search function decimal

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

逐字节打印出结构的值

基本上,我正在尝试将char数组转换为指向结构的指针,并逐字节地打印结构中的值.这是因为我正在处理的一些遗留代码使用宏来进行一些按位移位和屏蔽以在结构中的整数内改变4位,并且我试图找出宏是否按预期工作.不过,我已将我的问题压缩到这个玩具示例中 -

#include <stdio.h>
#include <stdint.h>

int main()
{
    struct student
    {
        int32_t hi;
        int8_t test
    };

    struct student p1 = {20, 20};

    for(int i = 0; i < sizeof(p1); i++)
    {
        printf("%c",((char*)&p1)[i]);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这会打印出两个字符(显示为包含0014的框),而不是其他任何字符.如果我将for循环更改为0到5(这大致是我期望的for循环的界限),我得到完全相同的输出.有没有办法做我想要的(即打印5个字符)?我知道有些角色只是空的空间,但我不明白我怎么没有说空的空间.

c

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

无法在 Arduino IDE 中编辑示例草图

我是阿杜诺新手。我选择示例 Blink 并尝试更改循环中的时间。该文件是只读的。按照教程,我尝试将其保存在我的素描本文件夹中。

文件>另存为

呈灰色显示。我将示例文件夹从 Arduino/content/examples 中的位置复制到我的素描本中。相同的结果。无法编辑。出了什么问题?
Arduino nano 每个
Arduino 18.10
MacOS 10.14

edit arduino

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

PIC16f877a 微控制器是否遵循小端字节排序系统?

我已经在 XC8 编译器上编译了这个简单的代码,并将十六进制文件加载到 Picsimlab - 具有 PIC16f877a 微控制器的模拟器板(板 4)。

    unsigned int x = 1;
    char *ptr = (char *) &x;

    if (*ptr == 1)
    {

        clcd_print("little Endian", LINE1(0));
    }
    else
    {
        clcd_print("big Endian", LINE1(0));
    } 
Run Code Online (Sandbox Code Playgroud)

输出:小端

那么我们可以推论Xc8编译器遵循小端字节序系统来编程PIC16f877a吗?
这是否也意味着 PIC16f877a 使用小端字节序系统将变量存储到其数据存储器中?

您能否提供指向有关字节排序系统的文档的链接,然后是 PIC16f877a 和 XC8 编译器?

c microcontroller endianness pic xc8

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