我的任务要求我访问一个名为
test.txt
的文档,所以文件名必须硬编码到我的C驱动器中。我不知道什么是硬编码。可以有人帮我吗?test.txt
的文档,所以文件名必须硬编码到我的C驱动器中。我不知道什么是硬编码。可以有人帮我吗?"硬编码"是指将某些内容直接写入源代码中。如果您不使用硬编码,则可以提示用户输入数据,或允许用户在命令行上输入数据等等。
因此,如果要将文件位置硬编码为位于C:驱动器上,则只需在源代码中将文件的路径名连在一起即可。
这里有一个例子。
int main()
{
const char *filename = "C:\\myfile.txt";
printf("Filename is: %s\n", filename);
}
文件名以“C:\myfile.txt
”的方式进行“硬编码”。
反斜杠被加倍的原因是因为在C字符串中反斜杠是特殊字符。
"硬编码"指的是您希望嵌入到程序或任何项目中的内容,无法直接更改。
例如,如果您正在使用数据库服务器,并将其硬编码连接到您的项目中,则用户无法更改该连接。
编码有两种类型。
(1) hard-coding
(2) soft-coding
硬编码。在编写源代码时分配程序值,并制作可执行程序文件。现在,更改程序源代码的值是非常困难的过程。就像在区块链技术中,创世区块是无法更改或修改的硬编码。
软编码:将外部来源的值插入计算机程序的过程。例如通过键盘、命令行界面插入值。软编码被认为是良好的编程实践,因为开发人员可以轻松地修改程序。
场景
在一所大学里有许多学生正在修读不同的课程,考试后我们需要准备成绩单来显示成绩。我可以用两种方式计算成绩等级。
1. 我可以编写以下代码
if(totalMark <= 100 && totalMark > 90) { grade = "A+"; }
else if(totalMark <= 90 && totalMark > 80) { grade = "A"; }
else if(totalMark <= 80 && totalMark > 70) { grade = "B"; }
else if(totalMark <= 70 && totalMark > 60) { grade = "C"; }
2.您可以要求用户在某处输入等级定义,并保存该数据
在第一种情况下,等级对所有课程都是通用的,如果规则更改,则需要更改代码。但对于第二种情况,我们为用户提供了根据其需求输入等级的选择。因此,当等级规则发生变化时,代码将不会被更改。
当您为用户定义业务逻辑提供更多选项时,这是非常重要的事情。第一种情况就是硬编码。
因此,在您的问题中,如果您要求用户在开始时输入文件路径,则可以从代码中删除硬编码路径。