从标准输入读入FILE *

时间:2018-10-10 08:35:53

标签: c file io stdin

我有一个需要FILE *的函数,我通常通过从文件中读取来创建它。现在在某些情况下,我想阅读stdin的内容。有没有一种方法可以从stdin中读取之前未指定长度的句子并将其写入FILE *?

3 个答案:

答案 0 :(得分:3)

stdinstdoutstderr已经是FILE *类型。因此,您可以像使用其他任何FILE *变量一样使用它。

答案 1 :(得分:1)

是的,只需根据需要使用fpstdin

void copyline(FILE *fp) {
    int ch;
    while ((ch = fgetc(stdin) != EOF) && (ch != '\n')) {
        fputc(ch, fp);
    }
    if (ch != EOF) fputc('\n', fp);
}

答案 2 :(得分:0)

您可以在行缓冲终端上使用 for y in prepost: querystring = {"source": x, "allSearch": "", "amountFrom": "1", "amountTo": "50000", "startdate": now, "enddate": now, "topUpSearch": "topUpSearch", "status": "1", "rType": y, "per_page": 1} with requests.Session() as s: p = s.post(url, data=payload) rep = BeautifulSoup(p.content, "html.parser") res = s.get(t_url, params=querystring) soup = BeautifulSoup(res.content, 'lxml') red = BeautifulSoup(res.content, "html.parser") last = red.find('li', text={"Last ›"})('a') print(last) pp = int((last[0]['href']).split('per_page=')[-1]) + 1 pn = list(range(1, pp)) 并像这样读取它:

getchar()

然后使用它将其写入文件。