小编tc9*_*c90的帖子

如何删除数组中的元素,然后在Shell脚本中移动数组?

首先让我清楚地说明我的问题:

例如:让我们假装这是我的数组,(元素无关紧要,因为我的实际代码有所不同):

array=(jim 0 26 chris billy 78 hello foo bar)
Run Code Online (Sandbox Code Playgroud)

现在说我要删除以下元素:

chris 78 hello
Run Code Online (Sandbox Code Playgroud)

所以我做了:unset array[$i]循环遍历数组.这会正确地删除元素,但是,我最终得到一个如下所示的数组:

array=(jim 0 26 '' billy '' '' foo bar)
Run Code Online (Sandbox Code Playgroud)

我需要它看起来像这样:

array=(jim 0 26 billy foo bar)
Run Code Online (Sandbox Code Playgroud)

其中吉姆是在索引0,0 @ 1,26 2 @等.

如何删除数组中的元素并移动其他元素,以便数组中没有空/空格?

谢谢!

bash shell

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

这是将printf的输出设置为字符串的方法吗?

我需要将输出printf("%02X", buffer[0])放入字符串中.

理论上它将是这样的:

string str = printf("%02X", buffer[0]) +printf("%02X", buffer[1]) +printf("%02X", buffer[2]) +printf("%02X", buffer[3]);
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用,我无法弄清楚如何做到这一点.

任何帮助表示赞赏,谢谢.

c++ printf

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

从8位值获取最重要的位

我知道在这个网站上有类似的问题,但是,我似乎无法找到真正帮助我解决问题的东西.

至今:

我有1字节(8位),可以是1和0的任意组合.

例如:11000010是我的数据字节.(小端)

我需要做的是确定最高有效位(MSB),在这种情况下是11,是00,01,10,11还是从那里做其他事情.

到目前为止,我已经得到了将字节输出为11000010(存储在字符串中)并尝试从中提取11的程序.(如果我可以解决这个问题,那么创建一个switch case或if语句来检查我自己的内容是否足够简单).

**我对C++的表现不是很好,这就是我要求帮助的原因.

任何帮助是极大的赞赏.

c++ binary endianness

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

如何在用户提供的目录中查找具有特定扩展名的文件?

老实说,我已经有几年没用过c ++了,所以请耐心等待.

我不是在找你为我编写这个代码,只是指出我可以找到解决方案的方向(或者至少可以使用类似的东西)

操作系统:Windows使用:dirent.h NOT使用:boost

-PseudoCode

  1. 开始
  2. 提示用户输入目录
  3. 搜索目录,查找扩展名为.txt的所有文件
  4. 如果没有文件那么错误
  5. 如果文件那么
  6. 获取文件并存储列表
  7. 输出文件列表
  8. 在这里做文件的其他事情
  9. 结束

我知道如何接受用户的输入,但我不知道如何应用该输入(包含目录路径的字符串),以便能够导航并检查文件.

这是一个工作项目,它突然被扔进我的膝盖.我很感激你的帮助.

c++

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

标签 统计

c++ ×3

bash ×1

binary ×1

endianness ×1

printf ×1

shell ×1