小编sag*_*r89的帖子

字符数组 - 为什么循环不是无限的?

我编写了以下代码来反转C中的字符串.代码似乎正常工作,这就是为什么我感到困惑.有谁知道为什么这里没有错误?我期待for循环中的数组超出界限或无限循环,但似乎循环在它变为负值之前中断.

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

void reverse(char* str);

void reverse(char* str)
{
    size_t len = strlen(str); 

    for(int i = (int)len-1; i<=len; i--)
    {
        printf("%c", str[i]);
    }
}

int main (int argc, const char * argv[])
{
    char string[] = {'h', 'e', 'l', 'l', 'o', '\0'};
    reverse(string);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

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

docker-compose down - 网络是外部的,跳过

我正在尝试关闭我的docker-compose文件中定义的外部网络的所有服务(使用版本2).

当我尝试做一个时docker-compose down,我收到一条消息说明,

网络'your_network'是外部的,正在跳过

有没有办法,使用docker-compose来停止和删除用户定义或外部网络的所有容器?

docker docker-compose

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

在循环迭代器变量上使用 goroutine

我读到循环迭代器上的 goroutine 通常会导致每次迭代都使用循环赋值中的最后一个值。例如https://github.com/golang/go/wiki/CommonMistakes#using-goroutines-on-loop-iterator-variables

但是,这只发生在闭包中,例如使用匿名函数吗?

我似乎无法通过此示例重现问题https://play.golang.org/p/lpZ-yD1mHu

当我使用这样的匿名函数时,它会重新创建问题https://play.golang.org/p/mDa0Z6mUP8

loops go

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

确定 Linux 中的“空闲”内存

我想知道是否有一种简单的方法可以确定 Linux 中“已使用”内存的数量。具体来说,内核和应用程序正在积极使用的内存,不包括缓冲区和缓存内存。我正在寻找类似于在任务管理器中找到的 Window 报告已用内存的内容(您可以在其中看到已使用的内存百分比)。

到目前为止,我能想到的最接近的解决方案来自这个链接:确定 Linux 上的可用内存

在我的 Ubuntu 13.0.4 上,做一个cat /proc/meminfo,然后我计算100-(((MemFree+Buffers+Cached)/MemTotal)*100)哪个应该给出“已使用”内存的百分比。

这是我发现的获得物理内存百分比的最接近方法,就像在窗口的任务管理器中找到的那个百分比一样。

这似乎是一种有效的方法吗?如果是这样,是否有更直接的方法?

linux ubuntu memory-management

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

为每个请求使用相同的标头

我希望能够为HTTP客户端发出的每个请求使用相同的标头,而不必为每个请求指定它们,如下所示:

req, err := http.NewRequest("GET", fmt.Sprintf("https://%s", endpoint), nil)
if err != nil {
    log.Printf("Error making request to endpoint: %+v", err)
    return p, err
}
req.Header.Add("Authorization", "Bearer")
req.Header.Add("Version", "2017-11-23") 
resp, err := client.Do(req)
Run Code Online (Sandbox Code Playgroud)

有没有办法在客户端配置?

http go

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

Linux:从/ proc获取挂载点利用率?

我知道我可以使用命令行工具(如df)获取挂载点利用率,并执行以下操作:

popen("df -h /var/log | awk '{if($1==\"tmpfs\") print $5}'","r")
Run Code Online (Sandbox Code Playgroud)

其中第五列是使用百分比.

我想知道的是,是否有办法从/ proc /访问挂载点利用率,例如/ proc/mounts.我觉得从/ proc /获取这些信息比使用df和awk解析用法更快更有效.我搜索过mntent.h,但也找不到任何有希望的东西.有任何想法吗?

c linux embedded-linux

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