相关疑难解决方法(0)

对stdin,stdout和stderr感到困惑?

我对这三个文件的目的感到困惑.如果我的理解是正确的,stdin程序写入其在进程中运行任务的请求stdout的文件是内核写入其输出stderr的文件,并且请求它的进程从中访问信息,并且是文件到输入所有例外情况.在打开这些文件以检查这些文件是否确实发生时,我发现似乎没有任何建议!

我想知道的是这些文件的目的究竟是什么,用非常少的技术术语绝对愚蠢地回答!

linux stdin stdout stderr

199
推荐指数
7
解决办法
23万
查看次数

getchar/fgetc和putchar/fputc中int和char的区别?

我正在尝试自己学习C,我有点困惑getcharputchar:

1

#include <stdio.h>

int main(void)
{
    char c;
    printf("Enter characters : ");
    while((c = getchar()) != EOF){
      putchar(c);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

2

#include <stdio.h>

int main(void)
{
    int c;
    printf("Enter characters : ");
    while((c = getchar()) != EOF){
      putchar(c);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

C库函数int putchar(int c)将参数char指定的字符(unsigned char)写入stdout.

C库函数int getchar(void)从stdin获取一个字符(一个unsigned char).这相当于以stdin作为参数的getc.

这是否意味着putchar()同时接受intchar或其中一方以及getchar()我们应该使用一个intchar

c

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

f编程中fflush(stdin)的用途是什么?

我有以下程序

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char ans[8];
    int i;
    for(i=1;i<=3;i++)
    {
        printf("\n What is the unit of traffic ?");
        scanf("%s",ans);
        fflush(stdin);

        if(stricmp(ans,"Earlang")==0)
        {
            printf("\nAnswer is correct");
            exit(1);
        }
        else
            if(i<3)
            printf("\n Try Again!\n");
    }
    printf("\n Nunit of traffic is Earlang:");
}
Run Code Online (Sandbox Code Playgroud)

fflush(stdin)在这个程序中有什么用?

c

19
推荐指数
3
解决办法
11万
查看次数

标准输入流(stdin)的文件结束(EOF)

stdin有没有EOF?例如 - 如果我使用fread/read从stdin开始读取,那么当以下循环结束时?

while ((c = read(0, buffer, BUFSIZ)) > 0) {
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

如果上面的解决方案没有,那么有没有办法在stdin中添加EOF?

c c++

16
推荐指数
1
解决办法
4万
查看次数

什么是"标准输入"?

我的任务是创建一个测试程序C,读取标准输入的内容,然后打印它们.

但我有点怀疑:什么是标准输入

这是我在键盘上键入的内容吗?这是我必须阅读的文件吗?

他们都?

同样的问题是standard output:它是控制台吗?一份文件?

c stdin stdout

9
推荐指数
1
解决办法
2万
查看次数

为什么 Ctrl-Z 不会触发 EOF?

为什么Ctrl+Z在下面的小程序中没有触发循环完成?

#include <stdio.h>

main()
{
    int c;
    while ((c = getchar()) != EOF)
    {
        //nothing 
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我输入:test^ZEnter,它不会跳出循环。

我发现了相关问题(此处此处),但没有一个问题可以解释 Windows 下的 C(而不是 C++)。

注意:我在 Windows 8.1 上使用 Visual Studio 2015 PRE

c eof getchar visual-c++

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×5

stdin ×2

stdout ×2

c++ ×1

eof ×1

getchar ×1

linux ×1

stderr ×1

visual-c++ ×1