https://blog.csdn.net/scanf_linux/article/details/100995055 https://www.cnblogs.com/mafeng/p/10291614.html