小编Han*_*lon的帖子

在 Vim 中隐藏 shell 命令的输出

如何在:!commandVim 中隐藏表单中任何命令的输出。我也不想在运行此命令(如Press ENTER or type command to continue)后从 Vim 收到任何消息。我希望 shell 命令完全在后台运行。

vim

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

如何保留以后销毁的字符串的内容?

我有两个字符串,string0string1.string0是类型char *string1为类型const char *.string1指向是在堆上分配当空间被释放变为无效,但我知道我以后会需要它的内容的数据.

由于以后释放内存,我不能执行以下操作:

string0 = (char *) string1;
Run Code Online (Sandbox Code Playgroud)

由于这两个都是指针,因此一旦释放内存,它们都将变为无效.这就是我尝试这个的原因:

strcpy(string0, string1);
Run Code Online (Sandbox Code Playgroud)

但这会产生错误:Segmentation fault (core dumped).string1即使在释放堆之后,我还能尝试保留其他内容吗?

c string pointers

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

0 <= -1如何才能返回true?

我写了一个小程序作为例子来复制我遇到的问题.该程序以这种方式接受和操作两行:

  1. 它用新的线条分隔线条.
  2. 每行包含一些字母后跟一个空格(在本例中' '),后跟一个数字.
  3. 它将字母复制到另一个字符串,然后添加'\0'到它.
  4. 它将数字复制到另一个字符.
  5. 它打印的字符串是复制的字母和int,其中是转换后的复制数字.

这是最小的程序:

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

void read(char *text)
{
    // create and initialize the line holder
    int k = 0;
    char line[10];
    line[0] = '\0';
    for (int i = 0;text[i] != '\0';i++)
    {
        if (text[i] == '\n')
        {
            // k now points to the character right after the last assigned one, so put 0 in that place
            line[k] = '\0';

            // initialize data objects that will hold text and …
Run Code Online (Sandbox Code Playgroud)

c

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

标签 统计

c ×2

pointers ×1

string ×1

vim ×1