我的任务是创建一个测试程序C,读取标准输入的内容,然后打印它们.
但我有点怀疑:什么是标准输入?
这是我在键盘上键入的内容吗?这是我必须阅读的文件吗?
他们都?
同样的问题是standard output:它是控制台吗?一份文件?
程序开始时,默认情况下是否需要stdin,stdout和stderr的文件描述符0,1和2?API调用(例如open(...),socket(...))是否会返回0,1和2,因为这些值已经被采用了?是否存在open(...)或socket(...)返回0,1或2的情况.0,1和2与stdin,stdout和stderr无关.
可以stdout文件描述符不同1(STDOUT_FILENO)假设stdout不必修改的左值?
例如,可以freopen("/dev/null", "w", stdout)改变fileno(stdout)结果吗?
我只是从 C 开始,我想制作一个程序,以小写字母显示字母,在一行上,按升序,从字母“a”开始。它应该以这种方式进行原型
void ft_print_alphabet(void);
我正在尝试此代码,但它不起作用。
void ft_putchar(char c);
void ft_print_alphabet(void)
{
char letter;
letter = 'a';
while (letter <= 'z')
{
ft_putchar(letter);
letter++;
}
}
int main(void)
{
ft_print_alphabet();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我使用 gcc 编译它(因为它是我们必须使用的),如下所示:gcc -o ftpp ftpp.c 但是我一直收到这个错误
Undefined symbols for architecture x86_64:
"_ft_putchar", referenced from:
_ft_print_alphabet in ft_print_alphabet-3d7c19.o
ld: symbol(s) not found for architecture x86_64
Run Code Online (Sandbox Code Playgroud)