c - 如何从命令行参数读取字符后的字符?

标签 c windows string command-line

我是 C 的初学者。在我的程序中,用户将通过命令行添加一个参数。该参数将是一个字符串,例如“你好吗”。我想从这个字符串中逐个读取一个字符。该字符串的大小未知。所以执行程序的例子(在 Windows 中)是:测试“你好,你好吗”

有点像

#include <stdio.h>

int main()
{
  char c;  

  while ((c = getchar()) != EOF)
    putchar(c);
  return 0;
}

应该从输入字符串中读取字符 c,这是我做不到的。 我希望我说清楚了。

感谢您的帮助。

最佳答案

getchar从标准输入读取,所以你的程序所做的是逐个字符地从标准输入读取,并将它们打印到标准输出。有一个错误,你应该声明c作为int ,因为 EOF通常是 -1 .


但是,您正在尝试打印命令行参数。要做到这一点,您不需要一个字符一个字符地执行。您需要使用 main带有这样参数的版本:

int main(int argc, char* argv[])

当您调用程序时 test "Hello, how are you" , argv[1]已经是参数字符串 Hello, how are you .您可以直接使用此字符串。

我就不给你密码了,你可以用printf打印字符串。如果您想获取每个字符,请使用循环从字符串 argv[1] 中获取它.

关于c - 如何从命令行参数读取字符后的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195356/

相关文章:

android - 使 TextView 中字符串的第一个单词/字符变大

c# - 将一个字符串拆分成一个唯一的列表——重构它

c - 混淆的 C/asm "Hello, world!"程序,我不明白

c++ - 整数除法的渐近估计

c - 关于 scanf 和许多要输入的值

c# - 如何设置我的服务器 exe 继续运行

windows - 无法在 Windows 7 上启动 glassfish v3

javascript - 选择某些字符正则表达式之间的文本

c - 了解 PowerPC rlwinm 指令

python - 使用 Python 3.5 安装 numpy Windows 8 64