小编MOH*_*MED的帖子

动态分配的整数数组的大小

我正在处理类型的函数:

 int xyz(int input[])
Run Code Online (Sandbox Code Playgroud)

我无法访问main函数,因此不知道数组的大小.如何找到输入数组的大小?有没有办法知道数组的结束位置? sizeof(input)/sizeof(int*)给出1作为输入基本上是一个指针.

c

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

如何断言释放内存

我有一个没有内存的功能.

我想在调用此函数后断言该函数释放了给定的内存.

我无法改变这个功能中的任何东西.

对于单一测试我需要它.我想测试我的函数,我想检查一下我的函数在调用之后真的释放了内存

问题出在代码中

void func(char *mem)
{
  // Some where in the function there is a free of the memory
  // The free could be into if condition so there is a risk to not be executed
}

int main()
{
   char *mem = malloc(20);
   func(mem);
   // how to assert here that the memory is freed?
}
Run Code Online (Sandbox Code Playgroud)

c c++ free assert memory-leaks

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

如何检测我的进程被杀?

我想检测程序的kill信号,以便在离开程序之前执行一些C指令.我的程序在linux上运行

有可能吗?如果是的话我怎么能这样做?

c linux

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

如何提取一部分字符串?

我有字符串包含一个路径

string="toto.titi.1.tata.2.abc.def"
Run Code Online (Sandbox Code Playgroud)

我想提取位于其后的子串toto.titi.1.tata.2..但这里的1和2是示例,可以是其他数字.

一般来说:我想提取位于其后的子串toto.titi.[i].tata.[j]..

[i]并且[j]是一个数字

怎么做?

linux shell awk sed ash

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

使用eval'$ cmd'执行变量将生成错误

如果我将cat命令保存到字符串然后执行它,那么我将收到错误

linux# cmd="cat /data/test/test.tx* | grep toto"
linux# eval '$cmd'
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
Run Code Online (Sandbox Code Playgroud)

即使

linux# $cmd
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我知道

linux# eval "$cmd"
Run Code Online (Sandbox Code Playgroud)

工作,但在我的脚本中我想使用 eval '$cmd'

如何将cat命令保存到变量中时执行?

现在如果cmd="echo anymessage"那么

linux# eval '$cmd'
linux# $cmd
linux# eval "$cmd"
Run Code Online (Sandbox Code Playgroud)

所有这些都会奏效

linux bash shell eval cat

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

printf以"%d"为数字,以0开头(ex"0102")给出意想不到的答案(ex'"66")

我在printf语句中使用了下面的代码.

void main()
{
    int n=0102;
    printf("%d", n);
}
Run Code Online (Sandbox Code Playgroud)

这打印66作为答案.我还将变量n的值更改为012.它给出了答案10.请帮助我关于如何完成此转换?

c printf hex octal

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

c打印太多的字符

我试图像在小端机器中那样向后打印出一个内存地址,但由于某种原因,我的程序在我的程序中输出两个char数组.

char address[8];
char result[16];
scanf("%s", address);
int x = 1;
for(x; x<5; x++)
{
int y = 4*x;
int z = 8 - 2*x;
result[y-4] = '\\';
result[y-3] = 'x';
result[y-2] = address[z];
result[y-1] = address[z+1];
}
printf("%s", result);
Run Code Online (Sandbox Code Playgroud)

例如,如果我输入"12345678"它输出"\x78\x56\x34\x1212345678" 我想要的"\x78\x56\x34\x12",但我不明白为什么"12345678"也打印.

c arrays printf char

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

C中sscanf函数的正确格式

我有一个字符串"h264:640x480:4:30000".我使用sscanf函数如下.

char res[16] = { 0 };
int quality = 0;
int fps = 0;
sscanf(temp1, "h264:%s:%d:%d", res, &quality, &fps);
Run Code Online (Sandbox Code Playgroud)

执行此功能时.我期待"res"中的"640x480","质量"中的"4"和"fps"中的"3000".但它将整个字符串复制到"res"中,其他两个变量值保持为0.

这个问题的正确格式是什么.

c

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

如何删除shell bash linux中的连续空间?

我有包含单词的字符串.

在单词之间有一个随机数的空格

str="toto1 toto2  toto3   toto4 toto5      toto6"
Run Code Online (Sandbox Code Playgroud)

如何删除重复的空格并在单词之间只保留一个空格?

linux bash shell

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

过滤命令输出时的regexp错误

我想过滤以下命令中的行:

$ cat /proc/net/route
Iface   Destination     Gateway         Flags   RefCnt  Use     Metric  Mask            MTU     Window  IRTT                               
br-lan  01020300        C0A80101        0003    0       0       3       FFFFFF00        0       0       0                                  
br-lan  03043836        C0A80101        0007    0       0       5       FFFFFFFF        0       0       0                                  
br-lan  C0A80100        00000000        0001    0       0       0       FFFFFF00        0       0       0 
Run Code Online (Sandbox Code Playgroud)

我想只提取包含Destination 01020300和Mask的行FFFFFF00

我尝试使用以下正则表达式,但它不起作用

cat /proc/net/route | grep "[^ \t\v]\+[ \t\v]\+$dest[ \t\v]\+[^ \t\v]\+[ \t\v]\+[^ \t\v]\+[ \t\v]\+[^ \t\v]\+[ \t\v]\+[^ \t\v]\+[ \t\v]\+[^ \t\v]\+[ \t\v]\+$mask"
Run Code Online (Sandbox Code Playgroud)

我是新手wuth regexp格式.你能帮助我为这个案子提供良好的正则表达式吗?

regex linux shell awk ash

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

标签 统计

c ×6

linux ×5

shell ×4

ash ×2

awk ×2

bash ×2

printf ×2

arrays ×1

assert ×1

c++ ×1

cat ×1

char ×1

eval ×1

free ×1

hex ×1

memory-leaks ×1

octal ×1

regex ×1

sed ×1