C - 直接从终端扫描值
C - scanf value directly from terminal
我有一个等待 scanf()
输入的 c 进程。
我想将其结果保存到 *.txt
文件中。
到航站楼 (linux)
./process > out.txt
终端中scanf prehand的写法是什么?
谢谢。
您可以像下面这样输入。
一个是滚边,
cat filename | ./process > sample.txt
要不你也可以这样给
./process < filename > sample.txt
否则
echo "1" | ./process > sample.txt
在该文件中,您只能放置整数值并像这样给出。
对于下面的程序,您可以将输入作为。
#include <stdio.h>
int main ()
{
int i = 0;
scanf("%d", &i);
printf("Value of i = %d\n", i);
return 0;
}
$ gcc -o exe file.c
$ echo 2 | ./exe
Value of i = 2
|
或 pipeline
将两个命令连接在一起 这样一个程序的输出成为下一个程序的输入.
更新:
如果你想读取字符串,或者字符串和整数一起读取
int i = 0;
char str[20];
scanf("%d%s", &i, str);
printf("Value of i = %d\nValue of str = %s\n", i, str);
$ echo "45 John" | ./exe # Ensure your input sequence is correct #
Value of i = 45
Value of str = John
用于将输出保存到文件 output.txt
$ echo "45 John" | ./exe > output.txt
$ cat output.txt
Value of i = 45
Value of str = John
执行此操作的一种方法是将 scanf() 输入写入文本文件。您的输入文本文件应根据 scanf() 序列正确格式化。然后将您的输入文本文件重定向到程序二进制文件,并将程序二进制文件的 shell 输出重定向到输出文件。
使用以下命令执行二进制文件。
./main < input.txt > output.txt
例如:
如果你的main.c如下所示
scanf("%s\n", &my_string);
scanf("%d\n", &my_int);
那么你应该准备一个input.txt如下
Hello
31
#include <stdio.h>
int main ()
{
int i = 0;
printf("Enter value of i:");
scanf("%d", &i);
printf("Value of i = %d\n", i);
return 0;
}
如果我想给i动态输入值。怎么给?
在下面的代码中,静态值由 echo 给出。
$ gcc -o exe file.c
$ echo 2 | ./exe
Value of i = 2
它应该在文件中显示 printf 语句,从那个文件我应该能够提供输入而不是终端。
我有一个等待 scanf()
输入的 c 进程。
我想将其结果保存到 *.txt
文件中。
到航站楼 (linux)
./process > out.txt
终端中scanf prehand的写法是什么?
谢谢。
您可以像下面这样输入。
一个是滚边,
cat filename | ./process > sample.txt
要不你也可以这样给
./process < filename > sample.txt
否则
echo "1" | ./process > sample.txt
在该文件中,您只能放置整数值并像这样给出。
对于下面的程序,您可以将输入作为。
#include <stdio.h>
int main ()
{
int i = 0;
scanf("%d", &i);
printf("Value of i = %d\n", i);
return 0;
}
$ gcc -o exe file.c
$ echo 2 | ./exe
Value of i = 2
|
或 pipeline
将两个命令连接在一起 这样一个程序的输出成为下一个程序的输入.
更新:
如果你想读取字符串,或者字符串和整数一起读取
int i = 0;
char str[20];
scanf("%d%s", &i, str);
printf("Value of i = %d\nValue of str = %s\n", i, str);
$ echo "45 John" | ./exe # Ensure your input sequence is correct #
Value of i = 45
Value of str = John
用于将输出保存到文件 output.txt
$ echo "45 John" | ./exe > output.txt
$ cat output.txt
Value of i = 45
Value of str = John
执行此操作的一种方法是将 scanf() 输入写入文本文件。您的输入文本文件应根据 scanf() 序列正确格式化。然后将您的输入文本文件重定向到程序二进制文件,并将程序二进制文件的 shell 输出重定向到输出文件。
使用以下命令执行二进制文件。
./main < input.txt > output.txt
例如:
如果你的main.c如下所示
scanf("%s\n", &my_string);
scanf("%d\n", &my_int);
那么你应该准备一个input.txt如下
Hello
31
#include <stdio.h>
int main ()
{
int i = 0;
printf("Enter value of i:");
scanf("%d", &i);
printf("Value of i = %d\n", i);
return 0;
}
如果我想给i动态输入值。怎么给?
在下面的代码中,静态值由 echo 给出。
$ gcc -o exe file.c
$ echo 2 | ./exe
Value of i = 2
它应该在文件中显示 printf 语句,从那个文件我应该能够提供输入而不是终端。