我们正在执行Caesar密码,其中第一个ROW是字符数,第二个ROW是加密的消息,第三行是部分正确的答案。
Caesar密码已完成,但是到目前为止,我只能从控制台扫描内容,而不能从实际文件中扫描内容。
问题是,如何扫描数字直到行尾(换行符),并且,如果该行包含的内容与实际整数(4a4,a44、44a,a)不同,则打印出错误? / p>
我们正在执行Caesar密码,其中第一个ROW是字符数,第二个ROW是加密的消息,第三行是部分正确的答案。
Caesar密码已完成,但是到目前为止,我只能从控制台扫描内容,而不能从实际文件中扫描内容。
问题是,如何扫描数字直到行尾(换行符),并且,如果该行包含的内容与实际整数(4a4,a44、44a,a)不同,则打印出错误? / p>
用fgets()
读取然后解析
char buf[100];
if (fgets(buf,sizeof buf,stdin)) {
char *endptr;
long integer_var = strtol(buf,&endptr,10);
if (buf == endptr) puts("No conversion");
else {
while (isspace((unsigned char) *endptr)) endptr++; // consume trailing white-space.
if (*endptr) puts("Junk at end");
else puts("Success");
}
}