用 fgets(buffer, MAXLENTH, stdin)
buffer 为程序里面定义的char类型的数组
MAXLENTH 为buffer的长度 即:sizeof(buffer)
stdin 为标准输入端
这个函数的意思即为, 从标准输入端获得 MAXLENTH 长度的字符串,存入buffer
fread的原型为 fread(buffer,size,count, fp) 它只能获取二进制文件,如果你想用它
你就需要在终端输入 000101011010110101010101010101101010011 你看着办吧~~~~~
图中为linux中二进制的存储形式
追问我要输入的字符串多少不确定了,怎样知道从终端输入的字符串大小呢
追答正是因为 你的字符串不能确定长度 所以在程序里面开辟的空间未知~~ 但buffer的大小不能过大,
如果你实在想用, 还有一种方法 可以用fgetc fputc 结合 输入到一个文件里~ 这样大小就没有限制了~
具体程序如下
#include
#include
#include
int main(void)
{
FILE *fp;
if((fp = fopen("testfile", "w")) == NULL)
{
printf("U CAN NOT OPEN THIS FILE\n");
exit(1);
}
while(!feof(stdin))
{
fputc(fgetc(stdin), fp);
fflush(fp);
}
flcose(fp);
return 0;
}
然后编译下 => ./a.out => 输入你想输入的东西:jlkfjslkfksafjsaf fkljdslk jflkdslkaf jflkdsjal => 然后按 ctrl+c 强制退出 => vim testfile => 看到你刚才输入的内容