我有一个需要FILE *的函数,我通常通过从文件中读取来创建它。现在在某些情况下,我想阅读stdin的内容。有没有一种方法可以从stdin中读取之前未指定长度的句子并将其写入FILE *?
答案 0 :(得分:3)
stdin
,stdout
和stderr
已经是FILE *
类型。因此,您可以像使用其他任何FILE *
变量一样使用它。
答案 1 :(得分:1)
是的,只需根据需要使用fp
和stdin
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()
然后使用它将其写入文件。