gpt4 book ai didi

c - 如何在C中提取字符数组的一部分?

转载 作者:行者123 更新时间:2023-11-30 21:14:59 25 4
gpt4 key购买 nike

我在终端上收到十六进制的 10 个字节( 010830FFFFFFFFFF0304 ),并且我只需在另一个字符数组中写入该数组的一部分(这 5 个字节 FFFFFFFFFF )。

代码如下:

#include <stdio.h>

void main(){
char buffer[]; // buffer size in bytes
int i; // counter
while(true){
for(i=0; i<buffer; i++){
buffer[i] = getc();
}
}
}

如何提取这部分数组?

最佳答案

一般修复:

  • 我声明了 buffer 的实际尺寸(10),您没有尺寸。
  • 我为您的答案声明了一个数组 ( middle ),但您没有这样的空间。
  • 我循环了10次,而不是无意义的比较i<buffer
  • 我删除了外部while(true) ,它永远不会终止。
  • memcpy 从输入缓冲区到答案,5 个字符。

你的问题很不清楚也不精确,所以我只能猜测你的意图。

void main()
{
char buffer[10]; // buffer size in bytes
char middle[5];
int i; // counter

for(i=0; i<10; ++i){
buffer[i] = getc();
}

memcpy(middle, &buffer[3], 5*sizeof(char));

for(i=0; i<5; ++i)
{
printf("%x",middle[i]);
}
printf("\n");
}

关于c - 如何在C中提取字符数组的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17981231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com