用C或Objective-C编写交互式命令行应用程序的简单示例?

3
我想用C或Objective-C编写一个简单的交互式命令行程序。它可以提示用户输入,并根据输入采取相应的操作,然后重新提示用户输入更多内容。我已经通过搜索“交互式命令行应用程序”等关键词在谷歌上查找了几个变化,但没有找到我要寻找的示例。
这似乎是绝对基础的编程例子,好像是“hello world”之后的一步。有人能向我展示这样一个程序的示例,或告诉我应该搜索什么吗?

2
首先,这取决于您想要什么样的交互性。如果您想要任何花哨的东西,细节会非常系统特定。否则,任何C编程语言教程似乎都可以回答您的问题。 - Basile Starynkevitch
1
搜索任何类似于“C程序提示输入”的内容都会出现大量有用的结果。 - Vicky
谢谢,Vicky。这正是我在寻找的。 - morgancodes
3个回答

7

Xcode 4 - Foundation命令行工具

  1. 选择 文件 > 新建 > 新建项目
  2. 选择 Mac OS X > 应用程序 > 命令行工具
  3. 输入名称
  4. 选择 类型 > Foundation
  5. 下一步
  6. 创建
  7. 打开 main.m 文件
  8. 粘贴以下代码
  9. 点击运行

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    @autoreleasepool {

        int inputOne;
        NSLog (@"Enter number: ");
        scanf("%i", &inputOne);

        int inputTwo;
        NSLog (@"Enter another number: ");
        scanf("%i", &inputTwo);

        NSLog (@"%i + %i = %d", inputOne, inputTwo, inputOne + inputTwo);

    }
    return 0;
}

注意:如果命令行界面没有出现,请点击第二个按钮: 截图 现在您可以与命令行工具进行交互了。

2

有许多方法可以将输入传递给程序。其中最基本的是使用scanf函数。

#include <stdio.h>
int main(void) {
    int age;
    printf("Enter your age: ");
    fflush(stdout);
    if (scanf("%d", &age) == 1) {
        if (age < 18) printf("baby\n");
        else if (age < 65) printf("adult\n");
        else printf("old\n");
    } else {
        printf("Invalid input\n");
    }
    return 0;
}

0
  1. 在Xcode中创建一个新文件
  2. 在右侧选项卡下选择命令行工具。
  3. 对于类型,选择Objective-C的Foundation和C。

现在你已经得到了一个框架项目,并且已经有一些东西。你可以在第一个“NSLog”语句的位置输入你自己的代码,只需删除该语句即可。

注意:NSLog是Objective-C中将内容打印到控制台的方式,每次调用都会出现在新的一行。

Printf是C语言中实现相同功能的方式,但为了打印到新的一行,必须使用\n - 通常情况下,printf调用总是以\n结尾。

试着自己操作一下,在一个命令行项目中(已经有一个NSLog语句的地方)- 将其替换为2个NSLog调用和2个printf函数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接