0
說我有一個字符數組:Char [3]其中包含a,b,c。C++打印字符數組與字符串lib
如果不使用任何C++字符串庫,將char作爲「abc」打印的最簡單方法是什麼?
我試圖超載< <運算符,以便我可以打印一個包含char數組的類obj作爲obj的原始字符串。
我很困惑如何實施所提供的解決方案。
我的話OBJ文件可以這樣使用:
Word.length()返回它有多長 字[XXX]將在指數XXX
說我有一個字符數組:Char [3]其中包含a,b,c。C++打印字符數組與字符串lib
如果不使用任何C++字符串庫,將char作爲「abc」打印的最簡單方法是什麼?
我試圖超載< <運算符,以便我可以打印一個包含char數組的類obj作爲obj的原始字符串。
我很困惑如何實施所提供的解決方案。
我的話OBJ文件可以這樣使用:
Word.length()返回它有多長 字[XXX]將在指數XXX
返回什麼嘗試copy
:
#include <algorithm>
#include <iterator>
#include <iostream>
char data[3] = { 'a', 'b', 'c' };
std::copy(data, data + sizeof data, std::ostream_iterator<char>(std::cout));
class OverloadedCharArrayClass {
public:
char* chars;
friend ostream& operator<<(ostream& os, const OverloadedCharArrayClass& charArray){
int i=0;
while(charArray.chars[i]!='\0'){
os<<charArray.chars[i];
i++;
}
return os;
}
}
是否必須在數組末尾不包含空值? – chris
@chris nulls是字符串結束符。這裏沒有字符串。 –
@SethBattin,C和C++中的Char數組通常以null結尾。我把這個字符串稱爲'std :: string'。 – chris