我正在编写一个应用程序,它必须从文件中找到子字符串并将该子字符串写入某个不同的文件中。为了写入文件,我使用 fputs,但有人告诉我检查更安全的版本来写入文件。
while (fgets(line, MAX_LINE_LEN, fp1) != NULL) {
if (pname_count < 1) {
if (strstr(line, p_name)) {
pname_count++;
fputs(strstr(line, p_name), fp2);// danger.
continue;
}
}
//Remaining code
}
Run Code Online (Sandbox Code Playgroud)
按照下面的两个链接,但没有得到我的确切答案。
有人可以解释一下安全方面“fputs”的漏洞是什么吗?
由于 fwrite 需要写入文件的字符数,这是否会使 fwrite 比 fputs 更安全?