【发布时间】:2018-10-10 08:35:53
【问题描述】:
我有一个需要 FILE* 的函数,我通常通过从文件中读取来创建它。现在在某些情况下我想从标准输入读取。有没有办法从标准输入读取一个以前未指定长度的句子并将其写入 FILE* ?
【问题讨论】:
我有一个需要 FILE* 的函数,我通常通过从文件中读取来创建它。现在在某些情况下我想从标准输入读取。有没有办法从标准输入读取一个以前未指定长度的句子并将其写入 FILE* ?
【问题讨论】:
stdin、stdout 和 stderr 已经属于 FILE * 类型。因此,您可以像使用任何其他 FILE * 变量一样使用它。
【讨论】:
是的,只需根据需要使用fp 和stdin
void copyline(FILE *fp) {
int ch;
while ((ch = fgetc(stdin) != EOF) && (ch != '\n')) {
fputc(ch, fp);
}
if (ch != EOF) fputc('\n', fp);
}
【讨论】:
您可以在行缓冲终端上使用getchar() 并像这样读取它:
int i;
while((i=getchar())!=EOF)
然后用它把它写入一个文件。
【讨论】: