在 C++ 中,有多种方式可以传递字符串数组作为函数参数。以下是其中的几种常见方法:
1. 使用指针
使用字符指针(C-Style String)是一种传递字符串数组的常见方式。函数接受一个指向字符的指针,并以 null 结尾的方式来表示字符串结束。
#include <iostream>
void printStringArray(const char* strArray) {
while (*strArray != '\0') {
std::cout << *strArray;
strArray++;
}
}
int main() {
const char* myString = "Hello, World!";
printStringArray(myString);
return 0;
}
2. 使用数组
可以使用字符数组作为参数,函数声明中使用数组的形式。
#include <iostream>
void printStringArray(const char strArray[]) {
for (int i = 0; strArray[i] != '\0'; ++i) {
std::cout << strArray[i];
}
}
int main() {
const char myString[] = "Hello, World!";
printStringArray(myString);
return 0;
}
3. 数组指针混用
const char myString[] = "Hello, World!";//数组形式声明和赋值初始化
void printStringArray(const char* strArray){}//用指针在函数中传参
const char* myString = "Hello, World!";//指针形式声明和赋值初始化
void printStringArray(const char strArray[]){}//用数组形式在函数中传参
4. 使用 std::string
使用 std::string
类型作为参数更为灵活,因为它能够自动管理字符串的大小和内存。这种方式更符合 C++ 的风格。
#include <iostream>
#include <string>
void printString(const std::string& str) {
std::cout << str;
}
int main() {
std::string myString = "Hello, World!";
printString(myString);
return 0;
}
这些都是传递字符串数组或字符串的基本方法。在选择使用哪种方法时,可以根据代码的要求和 C++ 特性的优势来决定。
重点:
在ifstream中,是直接输入字符数组
const char* fileName = "example.txt";
ifstream fileStream(fileName);
或
const char fileName[] = "example.txt";
ifstream fileStream(fileName);
或
string fileName = "example.txt";
ifstream fileStream(fileName);