Это код java.Как найти длину массива символов?
for (int j = 0; j < charArray[i].length; j++) {
System.out.print(charArray[i][j]);
}
Очень простой вопрос, как создать свойство java length, но в C++?
Это код java.Как найти длину массива символов?
for (int j = 0; j < charArray[i].length; j++) {
System.out.print(charArray[i][j]);
}
Очень простой вопрос, как создать свойство java length, но в C++?
Вы можете сделать вызов функции, передав указатель массива, и вы можете проверить, если указатель является недействительным по
if (charArray != 0)
, то вы можете попробовать это
sizeof(charArray)/sizeof(charArray[0])
Я не получаю 0 в charArray [0]. – jarwin
, что означает размер всего массива, деленный на размер одного элемента –
Это работает только в том случае, если 'charArray' на самом деле является массивом. Если вы передали его функции как параметр, то, что вы фактически передали, вероятно, является указателем, и его размер недоступен. –
template <typename T,unsigned S>
inline unsigned arraysize(const T (&v)[S]) { return S; }
компилятор попытается создать функцию, основанную на шаблоне, которая соответствует размеру массива. Я не беру на себя ответственность за ответ, см. Ссылку ниже, с более длинным объяснением.
http://www.cplusplus.com/forum/general/33669/
Это не работает для динамически выделяемого массива, но он дает ошибку компилятора. Что-нибудь работает для динамически распределенного массива?
Просто сделай это: for(int a=0; charArray[a] != '\0' ; a++);
Это сохранит длину charArray в «в»
Это работает только в том случае, если это строка с нулевым завершением и даст вам размер строки, а не массив. То есть, если строка была сохранена в массиве, который больше, чем он сам, он просто укажет размер до «\ 0». Кроме того, это приведет к ошибкам сегментации, если массив не является ничейной завершенной строкой. – Ramon
Но не так ли, все строки принудительно завершаются нулевым символом. ??? –
И что касается массива, нам нужна только длина строки. Поэтому я предполагаю, что он вернет длину строки до тех пор, пока не встретится нулевой символ. –
Возможный дубликат [Как найти длину массива?] (Http://stackoverflow.com/questions/4108313/how-do-i-find-the-length-of-array) –
[Что такое эквивалент 'array.length()' (используется в Java) в C++?] (Https: // www .quora.com/What-is-the-equ-of-length-used-in-Java-in-C++), [Как использовать массивы в C++?] (http://stackoverflow.com/q/4810664/995714) –
Рассмотрите возможность использования одного из классов контейнера C++, например 'std :: vector' или' std :: array'. –