📜  C语言中的scanf()和fscanf()–简单而强大(1)

📅  最后修改于: 2023-12-03 15:14:26.974000             🧑  作者: Mango

C语言中的scanf()和fscanf()–简单而强大

在C语言中,scanf()和fscanf()是常用的输入函数。它们能够读入各种类型的数据,并且使用起来非常简单。

scanf()

scanf()是标准输入函数,它允许我们从标准输入设备(通常是键盘)读取数据。

下面是一个简单的例子,演示如何使用scanf()读取一个整数:

#include <stdio.h>

int main()
{
    int num;

    printf("Please enter a number: ");
    scanf("%d", &num);

    printf("You entered %d.\n", num);

    return 0;
}

在这个例子中,首先我们声明了一个整数变量num。然后,我们通过printf()函数向用户请求输入一个整数。接下来,我们使用scanf()函数读取用户输入的整数,并将其存储在num变量中。最后,我们使用printf()函数将用户输入的整数输出到屏幕上。

当我们执行这个程序并输入一个整数时,输出应该如下所示:

Please enter a number: 42
You entered 42.

从这个例子中,我们可以看到,scanf()函数的第一个参数是一个格式控制字符串。这个字符串告诉scanf()函数要读取什么类型的数据。在我们的例子中,我们使用了"%d"来指示scanf()函数读取一个整数。

注意scanf()函数的第二个参数应该是一个指向要存储结果的变量的指针。在我们的例子中,我们使用&num来指向我们的整数变量num。

fscanf()

fscanf()函数与scanf()函数类似,但是它允许我们从文件中读取数据。这使得它对于从文件读取数据非常有用。

下面是一个简单的例子,演示如何使用fscanf()从文件中读取一个整数:

#include <stdio.h>

int main()
{
    int num;
    FILE *fp;

    fp = fopen("data.txt", "r");
    fscanf(fp, "%d", &num);
    fclose(fp);

    printf("The number in the file is %d.\n", num);

    return 0;
}

在这个例子中,我们使用了一个名为"data.txt"的文件,它包含了一个整数。我们首先使用fopen()函数打开文件,然后使用fscanf()函数从文件中读取整数。在我们的例子中,我们使用了"%d"格式控制字符串来指示fscanf()函数读取一个整数。最后,我们使用fclose()函数关闭文件。

当我们执行这个程序时,它应该输出如下所示:

The number in the file is 42.

从这个例子中,我们可以看到,fscanf()函数的第一个参数是一个指向打开的文件的指针。这个参数告诉fscanf()函数从哪里读取数据。在我们的例子中,我们使用了一个指向"data.txt"文件的文件指针。

总结

scanf()和fscanf()是C语言中常用的输入函数。它们允许我们读取各种类型的数据,并且使用起来非常简单。无论是从键盘还是从文件中读取数据,这两个函数都非常有用。熟练使用它们,将会让我们更加高效地编写C程序。