C++ 对函数输入参数使用数组
我试图使用一个数组作为函数的输入参数,当我用一个手动值调用这个函数时,函数运行良好,但是当我使用一个带有该值的数组而不是手动值时,我的函数运行不正常 我的代码示例:C++ 对函数输入参数使用数组,c++,arrays,function,C++,Arrays,Function,我试图使用一个数组作为函数的输入参数,当我用一个手动值调用这个函数时,函数运行良好,但是当我使用一个带有该值的数组而不是手动值时,我的函数运行不正常 我的代码示例: Search("FileName","Word"); ---------------------- Search("NotePad1","Hello"); >>> Work Correctly! ---------------------- But: -------------------- char Word[
Search("FileName","Word");
----------------------
Search("NotePad1","Hello"); >>> Work Correctly!
----------------------
But:
--------------------
char Word[25]={'H','e','l','l','o'};
Search("NotePad1",Word); >>>Doesn't Work! :-(
--------------------
字符串文本(如
“Hello”
)的末尾还包括NUL终止符字节
将终止符也添加到阵列中:
char Word[25]={'H','e','l','l','o', 0};
否则,从数组中读取的C字符串也将在数组末尾和其后的内存位置包含任何垃圾数据,直到内存中的下一个零字节。如何:
char* Word = "Hello";
取决于您如何声明函数。假设函数声明为
boolean Search(String Filename ,String word);
试一试
char-Word[]={'H','e','l','l','o','\0'};//试试charword[25]={'H'、'e'、'l'、'l'、'o'、'\0'}代码>查看函数声明可能很有用。谢谢兄弟们。:-)
char Word[]={'H','e','l','l','o','\0'}; // <- NULL terminated , a well formed string
Search("NotePad1" , Word);