【问题标题】:C - how to keep variableC - 如何保持变量
【发布时间】:2025-12-16 22:30:02
【问题描述】:

我想知道如何将文本保存在 txt 变量中?我想保留它,我的函数将结束 - 我认为它被称为静态 int

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char buf[1024];
    char txt[100];
    printf("Insert a text: ");
    fgets(txt, 100, stdin);
    snprintf(buf, sizeof(buf), "echo '%s'", txt);
    system(buf);
}

谢谢, 马特

【问题讨论】:

  • txt 将被保留,直到其范围结束。你能澄清你的问题吗?上面的代码到底有什么问题?
  • "我想保留它直到我的函数将结束"它已经完成了
  • 如果您将其标记为静态,它将一直保留到您的程序结束。这是你要问的吗?
  • 对不起,我会保留到程序结束
  • 在这种情况下,函数的结尾就是程序的结尾

标签: c static int


【解决方案1】:

你得到的错误与buf的范围无关。 它指的是system 函数,它只需要一个参数:

int system(const char *command)

希望我能帮上忙。

【讨论】: