strrev — Переворачивает строку


Содержание

strrev

strrev � �������������� ������ ����� �������

��������

���������� ������ string , ������������ ����� �������.

������ ����������

������������ ��������

���������� ������������ ������.

�������

������ #1 ������ ������������� strrev()

����������

Be careful, it does not work with unicode strings.

> $str = ‘1?’ ;
php > print( $str );
1?
php > print( strrev ( $str ));
??1
?>

This function support utf-8 encoding, Human Language and Character Encoding Support:

function mb_strrev ( $str ) <
$r = » ;
for ( $i = mb_strlen ( $str ); $i >= 0 ; $i —) <
$r .= mb_substr ( $str , $i , 1 );
>
return $r ;
>

echo mb_strrev ( «??world» ); // echo «dlrow??»
?>

�������� ������ ��� strrev

��������� ����� ����� �� ����� ������������� � ������� ������� ����������� ������ � PHP ��� � ������� strrev ,

���� ������ �������� ���� ���-�� ����� �����:

����� ��� �������� ����, ���� �� � ������� ��� ��� �������� ������������� ������ (�� ��������� $temp ���������� ��� ����� ����������, ����� ����������� �������� ������ �), � ��� �� �������.
��� ���������� ���������� ����, � � ��� ��� � ������� ������ ��� �������� ��������� ���, �� ��������� ������ �������.

��� ��������� ������� �������� ���:

��� �� ������� �������� �abcdefg� ����� �����, ������ ��� ����� � �� ��� ����� ������ ����� ������������ ������. ��� ����� ������� ��������� ������ � ������ �������� �����.

� ������� ������������ mb_substr ��� ���:

�� ��� ������ ���� ��� Uninitialized string offset ������.

��� ��� � ������� (�����). � ���������� �������� � Google, �� ��� �������, ������� � �����, ���� echo ������� ��������������� ��� ������������ ��������� ����������.

� ����� ����� ������ ������ ������ PHP ��� ������������� �������������� ������ �� ��� ������, ������� ������������� ���� ������������.

�������

��� ����������.
��� ��� � ������ ��� ��������:

list() ����� �������������� ��� ���������� ������ ���������� � ����� ��������. ������� � ������ ����� ������� (������� � ������� � ����������, ����� �������-������� � �������-���������� � ��� �����, ���� �� ��������� �������� ������)

����� mlkjihgfedcba ,
�� ��������� �����-���� ������ ����������, ����� $s � ��������, ��� ��� � �������, ��� ������������� ����� ���������.

������ �������

����� � �������� ��, ��� �� ������ �������, ��� �������� ������ ������ $i �� ����� ������� �������� ������ � �������� $j �� ������ ������� �������� � ����� �� �����������.

��������, � ������ �� ���� �������� ������� ������ ��������� �� ������� 3. ������ �� ������� 0 (���������� 3) ���������� �������� ������� � �������� �� ������� 6 (3 + 3), ������ �� ������� 1 (���������� 2). ) ���������� �������� ������� � �������� � ������� 5 (3 + 2) � �. �.

���� �������� ����� ���� ���������� ��������� �������:

�� ����� �� ������������ ���� ���� XOR.

��� ��� ������ PHP7 �����:

PHP ������ ������ ���� ���������� , �� ��-�� ����������� ��� ������ ����� ������ �������� �� �� ����� ��� �����������. ��������� �� ������������� ������� ��������, �� ������ ������, ��� ��� ���������; ��������� ��� ������ �������, ������ ��� ��� ���������� ������� ��� ��������� �������� �� ������. ����� ��������� ��� ���������� �������� �� ����� � ����� ������� ���������, ��� ����� ������� ������ �������� �������������, ���������� ������� � �������� ��������.

� �������, ��� ���� ����� �������������� ���������� � �� ���������� �� �����-���� ������������ ������ ������-���������� ( &= ) � ��������� ��������� ( function rev(&$string) ) (��� ���������� ��������� ������ �������� �������, � ����� ������� �� ���������� �� �����-���� ������ ����������), �� ����� ���� ���� � ��������� �������� �������� �������� ������ ��� �����-���� �����. ��� ������� ������, � � �����������, ��� ����������, ������� �������� ���� ������, �� ���� � ����������� ��� ������.

����� ������, ��� �� ������ �� �� �����, ��� ������������ � ������ ������, ������ ��� ��� ��������� � � ��������:

������� ����, ��� ���� (����� ��� �������� � PHP5) ������������� � ������ ��� ������, ���� �� �� ����������� &= ��������. ���������� �� �������� ��, �� � ������� �� ����������� ������ ������ (C, Java, Python �), ������� ���� �������� �������� �������� (�������), ���� ������ �� ��������� ������ ��� ������ (������), PHP ������������� ������� ���������� ����� ��������� �����-���� ���������.

�������, ���� �� ������������� �� ���� � ����� ������������� �����������, � ����� ������������� �� �������� ������� ������ �����, �� ������ ������������ XOR ��� ������ ������ ���� �������� �� �����:

� �������� ����� @EricBouwers, �� �� ������ ������� 2-� ����������-����������� $j

��� ����� ��������� ����� ������ � ��������������� �� �������, ��� ������ ������� ����� � ������� ������ ���������, �������� ������ � ��������������� � ��������. ���� �������� �����, ����� ��������� ������� �� �������� �������, � ���� ��� ������, ��� ������ ��� ������� � ���������������. ������������ ������ �������������� ������ $len ��� �������� � $tmp ��� ������.

���� ��� ����� �������, ������� �� ���������� ����� ����� ������, � ������ ����������� ������, �� ������ ������������ ���������:

� ������� &$str �������� ������ ��������� �� ������ ��� �������������� �� �����.

� ��� ����� ������� ����������, ����� ��� @treegardens, �� ������ ���������� ���:

� ���� ������� ������, �� � ������� �������� ���� for.

PHP. ����� ������ � �������� �������. �������� ����������� ������� mb_strrev

��� ������ ������ � �������� ������� ���������� ������� strrev.
�� ���������� � ��������. ������ ������� ����������� �������� � ����������.
� ������ ������ ����� ������ ������� �������� ����������� ������� mb_strrev ��� ������ � ���������� � ���������� utf-8.

������� ������� mb_strrev.
��������� � ��� ������ ��������� ���������� � ������� � ���������� ����� ����������� �������� ���������� ���������.

������� ���� ��� $i ����� ����� ����� ������ � ������ ��������� UTF-8 ��� ������ � ������� �������� �������� � �������� ���������� ����������� � ����� ������:

����� ��������� ������� mb_substr, � ������ ����� �����, ����������� �������� ������ � ��������� UTF-8 � ����������� ��������� ���������� $strrev.

����� ���� ������� ���������� ���������� ���������:

����������� ������ � PHP

��� ����������� ������? ���� ������ — ����� ������.
����������� ������� �� ���������� — strrev() �� �������� � ���������� utf-8.
�������� ������� ������:

  1. ������������� mbstring. ������ ������ � ����� ������, ������� ����� ����� mb_substr() , ��������� �������� ������.
  2. ������������� ���������� ���������. ������� �������� ����� preg_match_all() � ������, ������ array_reverse() � implode() .

���������� ��� �������� ����������/���������� ��������� ��������������.

strrev

strrev � Переворачивает строку задом наперед

Описание

Возвращает строку string , перевернутую задом наперед.

Список параметров


Возвращаемые значения

Возвращает перевернутую строку.

Примеры

Пример #1 Пример использования strrev()

� �������������� ����� � .Net/C# � �� ������

������� ��������� � �������, ������ �� �� ��������������� ���������� .Net/C#. ��� �� ���������, ��� � ����������� ���������� �������������� ������� �� �����������. � ��� ��� ������������, ��������� ������� ��������� ������ �������� ���������� ������ �� �������������� ��� ������ �� ������. ������� ���������, ��� ����� ���������� ����������� ������ ���������� ������ ���������.

��� ����� �������� ������������� ������ �������������� ������ ������� ��������������� ������.

����-�-� � ������� ���������.
����� � ������� ������.
� ������ �������.

�� ��� �, ������. ��� ���������� ����������� �� �������������� � ����� ������� �������� 256 �������� (128?1024?1024 �������) � 1024?1024 �������� �������� 256 ���� (128 ��������). ����� ������ ������� ������������� ������ ������ (��� ����� ��� ����� ������� �������� ������), ����� ���������� 50 ���, 20 ������� �������������, ��������� �������� �����������. ��������� ��������� ���� ������� ���������� �����, ���������� �������� ������ Stopwatch.

���� ���������� �� ���� �����������: Athlon64 x2 4200+, 2GB Dual-Channel DDR2 RAM � Pentium4 HT 3GHz, 3GB DDR RAM. ������� �������� ����� �������������� � ������ ����� �������� �������������� ������ ������-��� � ������ ������� � ���� ��������� ������� ���������.

� ������������ �������������� ���������, ������ �������� � ���������� �����������. ��� ������� �����������, ����� �� ������ unicode surrogate code points. ������������� ������� ����� � ������� ���������� � ����������� ���������� � ��������� ���������� �� ������������.

������������� ���������� ������� ��������� � ��������� ����� ���� �������. ����������� � ����� ������ ��������� ������� ReverseUnsafeCopy, ���� �� �������������� ������ safe code � ReverseArrayManual. ���� ��������� safe code � �������� ������ � ��������� �������� � ReverseStringBuilder.

����� ������: ����������� ������.

1. ReverseStringBuilder

����� ��������� ������������� � ��� ���������� �������� ������ ������� ����������� ���������� � ����� StringBuilder. ���� ������ �� �����: ������� builder ������� ������� � ���� �� ������ � �������� �������, �������� ������� � ����� ������.

Copy Source | Copy HTML

  1. static string ReverseStringBuilder( string str)
  2. <
  3. StringBuilder sb = new StringBuilder (str.Length);
  4. for ( int i = str.Length; i— != 0 ; )
  5. sb.Append(str[i]);
  6. return sb.ToString();
  7. >

�������, ���������, �� ���-�� �������� �������� ��� ���, ����� ������ ������.

2. ReverseArrayFramework

��! ��� ���� ������ �� ��������� ���������� ��� ����������� ������������������ �� ���� ������, ��, ��� ����� �� ����. �� ������ � ��� ���� ������ �������. ��� ������� ��� � ����������, � ��������� ����������� ������� � ������:

Copy Source | Copy HTML

  1. static string ReverseArrayFramework( string str)
  2. <
  3. char [] arr = str.ToCharArray();
  4. Array .Reverse(arr);
  5. return new String (arr);
  6. >

������ ������ ����, ���������� � 3.5 ���� �������. ��, � ����� ����� ��� �����?

3. ReverseArrayManual

���, ������. ��-������ � ��� ������ ���������� �����: ������� �� ������ � ������, ����� ������ �������. ��-������ Array.Reverse � ������������ �����, ������ � ��� ���� �������� ������� ������. ����� ����, ��� ��������� ����� �� ���� ���������� � ���� native ������, � ��� �������������� ������������ ��������� ����������. ��������� ����������� ������ � ������ �������:

Copy Source | Copy HTML

  1. static string ReverseArrayManual( string originalString)
  2. <
  3. char [] reversedCharArray = new char [originalString.Length];
  4. for ( int i = originalString.Length — 1 ; i > — 1 ; i—)
  5. reversedCharArray[originalString.Length — i — 1 ] = originalString[i];
  6. return new string (reversedCharArray);
  7. >
4. ReverseManualHalf

���� ������. � ��� �� �������� ����������� ������������ �������� ������, ������ ����� ������� ��� ������� ��������� � ��������� ���������� �������� �����:

Copy Source | Copy HTML

  1. static string ReverseManualHalf( string originalString)
  2. <
  3. char [] reversedCharArray = new char [originalString.Length];
  4. int i = 0 ;
  5. int j = originalString.Length — 1 ;
  6. while (i return new string (reversedCharArray);
  7. >

�� ���-�� ����� �� ���, �� ������� � ��������� ������� �������� ����� � ������� ����. �������� ��������� ������������ � ����������, ����� ������������, ��� �������� �������� ������ � ��� ����������: ������ �� �������� � ����� ����������� ��������� ������ ������������, ������ �� ����� ������, ������������� ������� ������ ����������� ����.

LINQ � ����� Reverse

���� ��� ������������ �������� � �������� ������ � LINQ, �� �� �� ����������� ������� ������� � ����� ������������������ � �������� � 3-3.5 ���� ��������� ������ �� ���� StringBuilder. ����� ���� ������������ ������ ����� IEnumerable � ����������� ����� �� ������ ��������. ��� ��������, ���� ��������� ����������:

Copy Source | Copy HTML

  1. static string ReverseStringLinq( string originalString)
  2. <
  3. return new string (originalString.Reverse().ToArray());
  4. >
������������� ������

�������� �� ����� ��������� � ����������� �������, �� ��� �������� �� ������������� ������� ������ ������������� ����� ������ � ���� ������� ��������. �� ������������� ������ ��� ����������� � ���, ��� �������� ������ �������� 512�� ���� ������ ������ �����, ��������� ��������� �� System.OutOfMemoryException. �����, �� ������� ��������, ��� ������ ��������� ������� �������� ������� ������������ GC, � �� ���� � ������������� �� �����, �� ���-����� ����� ������. � ��������� ����� ����� ����� ���������� ����������� ����� ������ ������� ���� ��������.

Илон Маск рекомендует:  Перационная система linux

����� ������: ����� ������� ������� � �����������, ��� unsafe code.

������������� unsafe ���� ���� ��� ���� ���������� ������������: ������, ������� ������ ���� immutable, ������ ����� ������, �� ����� ���� ��������� ���������� � �������� ������ ����� ����� � ���������� ������������ ���������� ����� ����� ������, � ������ � ��������������� ����� ��� ����� �������� � ��������� ������������� ��� ����������.

����, ������ ����� ������ ������� �������, �� ����� �������� �� ���, ��� �� ������ � ��������� ������� �������. �� � �� ����� �������� �� ����������� �������� �� ���������� ��������, ��� ���� ������� ������ ����. ������ � ���� ��������� ����� � .Net, �� �� ����� ��� ��� ������ ������� ������ ������ �����. ����� ���� ������� ������ �� �������������� ������� (�������� ��������) ��� ������ ������������ String(char, int), ���� ����������� �������� ������ ��������� String.Copy(String).

������������ ����� �������� ����� ��������� ��� ����������.

5. ReverseUnsafeFill

������ ������ �� �������� � ��������� �� � �������� �������:

Copy Source | Copy HTML

  1. static unsafe string ReverseUnsafeFill( string str)
  2. <
  3. if (str.Length 1 ) return str;
  4. String copy = new String ( ‘ ‘ , str.Length);
  5. fixed ( char * buf_copy = copy)
  6. <
  7. fixed ( char * buf = str)
  8. <
  9. int i = 0 ;
  10. int j = str.Length — 1 ;
  11. while (i return copy;
  12. >
6. ReverseUnsafeCopy

�������� � �������������� ������:

Copy Source | Copy HTML

  1. static unsafe string ReverseUnsafeCopy( string str)
  2. <
  3. if (str.Length 1 ) return str;
  4. char tmp;
  5. String copy = String .Copy(str);
  6. fixed ( char * buf = copy)
  7. <
  8. char * p = buf;
  9. char * q = buf + str.Length — 1 ;
  10. while (p return copy;
  11. >

��� �������� ������, ������ ������ �������� ������� ������� �� ��������� ������ � ������ ��������� �� ������� :) ������ ������ ���������: ������������ ����� ����������� ��������� ������ ������ ������� � �������� � �������� ����������� ����� ������ � �������� ��� ���������� � �����. �������� ����� ����������� ������� ������ ReverseUnsafeFill � ������ �������� (��� ����� ��������� ����� �������� ������ �� ������ � ���) � �������� �� �� ��������� ������, ������ � ���� ���� ��������� �������, ��� ��� ����� ���-����� ��������� ReverseUnsafeCopy (���� ���� � ���������).

7. ReverseUnsafeXorCopy

� ��� ������? ����� �����, ��� ����� ��� ������ ��������� XOR �������� ������� ����������� ����� ������ ���������� (������ � ������ ��� ��� � ��������� �������� �������: �a ^= b ^= a ^= b;�, � C#, ���, ����� ������ �� c��������). �� ���, ������� �������� �� ����.

Copy Source | Copy HTML

  1. static unsafe string ReverseUnsafeXorCopy( string str)
  2. <
  3. if (str.Length 1 ) return str;
  4. String copy = String .Copy(str);
  5. fixed ( char * buf = copy)
  6. <
  7. char * p = buf;
  8. char * q = buf + str.Length — 1 ;
  9. while (p return copy;
  10. >

� ����� ���������� � 1.2-1.5 ���� ��������� ������ ������������. ����, ���������� ��� �������� ������ �������� �� ���������, ��� ���������� ���� �� �������� (��� ���������, �� ������ ������������ �/�++ �� ���� �������� �� ����).

� ������� ���������� ����� ����� ������� ������ ���������� � �������� �������������� CIL ���.

����� ������: ����� � CIL � ���� ��������� .Net.

������ ����� ����� XOR �������� ����

��� ��������� ������ �� ���� ������ ����� ���������� �� CIL-���, ��������������� ��� ���� �������� ������. ���� ��� ���������� �������� ��������, ������ �� ����������: ldloc.N � ��������� �� ���� ��������� ���������� ��� ������� N, stloc.N � ��������� �������� ����� � ��������� ���������� ����� N, xor � ��������� �������� �������� XOR ��� ���� �������� ������� ����� � ��������� ��������� �� ���� ������ ���.

FPublisher


Web-����������: ���� ������

������������ PHP

strrev

strrev � �������������� ������

Description

string strrev ( string $string )

���������� ������ string , � ������� ������� �������� ������� �� ��������.

������ #1 ������ ������������� strrev()

echo strrev ( «Hello world!» ); // ������� «!dlrow olleH»
?>

��������� �����������:

���������� �� �����

��������� 14 ����� 2020 ����

�p���� Genesis (�� ��p��p������� ��p������)

��������� �� ������ � Vim

��������� 05 ������� 2020 ����

Vim �������� ������ ��������, �� ������ � ��� �� ������ ��������.
�������� ���� ����� ��������������� �����-�� ���� �������� ��� ������ crontab, ��� ������ ��������� ������ � viv �����.

������: Error: Cannot find a val >��������� 13 �������� 2020 ����

���� ��������� ������ �� centos 5 ����
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

Linux Optimization

��������� 30 ���� 2012 ����

Strrev — �������������� ������

������������, ����� ���� �������� ������� ��������������� ������, strrev �� �������� ������������. ���� �� ������ ����� ����������� � ����?

#include
const char *prnt(int k, char *a) <
char new_s[k]=<0>;
int i=0;
while(k !=0 ) <
k—;
new_s[i]=a[k];
++i;

�������� | ������ | C������� ����������

����������

  • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 21:15 , 14-���-16, (1)
    • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 21:39 , 14-���-16, (2)
      • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 21:44 , 14-���-16, (3)
        • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 21:49 , 14-���-16, (5)
    • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 21:48 , 14-���-16, (4)
      • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 22:23 , 14-���-16, (6)
      • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 22:25 , 14-���-16, (7)
        • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 22:33 , 14-���-16, (8)
          • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 22:38 , 14-���-16, (9)
            • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 22:41 , 14-���-16, (10)
          • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 22:56 , 14-���-16, (11)
            • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 23:18 , 14-���-16, (12)
              • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 18:49 , 15-���-16, (13)
                • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 18:58 , 15-���-16, (14)
                  • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 19:01 , 15-���-16, (15)
                    • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 22:39 , 15-���-16, (17)
                      • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 22:53 , 15-���-16, (19)
                        • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 23:38 , 15-���-16, (21)
                        • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 09:17 , 16-���-16, (27)
                        • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 00:27 , 16-���-16, (24)
                        • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 09:17 , 16-���-16, (28)
                      • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 23:18 , 15-���-16, (20)
              • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 21:36 , 15-���-16, (16)
                • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 22:41 , 15-���-16, (18)
                  • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 23:46 , 15-���-16, (22)
                    • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 23:53 , 15-���-16, (23)
                      • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 02:20 , 16-���-16, (25)
              • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 08:38 , 16-���-16, (26)
                • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 09:20 , 16-���-16, (29)
                  • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 11:16 , 16-���-16, (30)
                    • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 11:26 , 16-���-16, (31) �1
                      • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 14:58 , 16-���-16, (32)
                        • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 15:02 , 16-���-16, (33)
                        • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 17:23 , 16-���-16, (34)
                        • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 18:02 , 16-���-16, ( 36 )
                  • ���������� �� ��� ���������? (��������� ������ ��)., Asgard, 17:50 , 16-���-16, ( 35 )
                    • ���������� �� ��� ���������? (��������� ������ ��)., f2404, 18:21 , 16-���-16, ( 37 ) +1
                      • ���������� �� ��� ���������? (��������� ������ ��)., dcc0, 15:42 , 20-���-16, ( 38 )


��������� �� ���� [���������� �� ������� | RSS]

���� ��� �� ���������� — variable-sized ������� ������ ����������������.

����� ����, �� ����������� �� ������� prnt() ��������� �� ��������� ���������� — ��� ������ ������. �� ��� � �� ����� ������ ���������� � ������ ������.

�� � ����� �������, ������ ��������� ����� ����� �������.

1. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� f2404 (ok) on 14-���-16, 21:15
�������� | ������ | ^ � �������� #0 | ������ | C������� ����������

2. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 21:39

>[����������� ������]
>> while (a[k] != 0) <
>> k++;
>> >
>> prnt( k, a);
>> >
> ���� ��� �� ���������� — variable-sized ������� ������ ����������������.
> ����� ����, �� ����������� �� ������� prnt() ��������� �� ��������� ���������� —
> ��� ������ ������. �� ��� � �� ����� ������ ���������� �
> ������ ������.
> �� � ����� �������, ������ ��������� ����� ����� �������.

��������, ��� variable-sized char *a=argv[1]; ��� ������� ��������� a �� argv[1]?

�������� | ������ | ^ � �������� #1 | ������ | C������� ����������

3. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 14-���-16, 21:44

>>[����������� ������]
> ��������, ��� variable-sized char *a=argv[1]; ��� ������� ��������� a �� argv[1]?

�������� | ������ | ^ � �������� #2 | ������ | C������� ����������

5. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 21:49

>>>[����������� ������]
>> ��������, ��� variable-sized char *a=argv[1]; ��� ������� ��������� a �� argv[1]?
> ������, �� ���:
>> char new_s[k]=<0>;

���. �� ������� ���-��. � ���� ���������������

�������� | ������ | ^ � �������� #3 | ������ | C������� ����������

4. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 21:48

>[����������� ������]
>> while (a[k] != 0) <
>> k++;
>> >
>> prnt( k, a);
>> >
> ���� ��� �� ���������� — variable-sized ������� ������ ����������������.
> ����� ����, �� ����������� �� ������� prnt() ��������� �� ��������� ���������� —
> ��� ������ ������. �� ��� � �� ����� ������ ���������� �
> ������ ������.
> �� � ����� �������, ������ ��������� ����� ����� �������.

��� ����� ����������?

#include
main (int argc, char *argv[]) <
int k=0;
int i=0;

�������� | ������ | ^ � �������� #1 | ������ | C������� ����������

6. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 22:23

�.�. � ����� ���� ���
#include
#include
#include
main (int argc, char *argv[]) <
int k=0;
int i=0;

���� ������������ malloc?

�������� | ������ | ^ � �������� #4 | ������ | C������� ����������

7. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 14-���-16, 22:25

-> char new_s[k]=<0>;
����� ���-�� ����������?
���� ������ [ ] ����� �� �����, � ����������, �� ������������ = <0>������������ ������.
����� ���������� memset �� ���������� string.h

�������� | ������ | ^ � �������� #4 | ������ | C������� ����������

8. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 22:33

>[����������� ������]
> -> char new_s[k]=<0>;
> ����� ���-�� ����������?
> ���� ������ [ ] ����� �� �����, � ����������, �� ������������ = <0>
> ������������ ������.
> ����� ���������� memset �� ���������� string.h
> #include
> .
> char new_s[k];
> memset ((void *) &new_s[0], 0, (k * sizeof (char));
> � ������� ���.

�����, ������� ���� �������.

� � malloc ����� ����� ���? � ���� ��������.

#include
#include
main (int argc, char *argv[]) <
int k=0;
int i=0;
int n = sizeof(argv[1]);
char *new_s;
if(argv[1]==0) <
return 0;
>
while (argv[1][k] != 0) <
k++;
>
new_s = (char*) malloc(n*sizeof(int));

������� ������� �� ���������� ������

�������� | ������ | ^ � �������� #7 | ������ | C������� ����������

9. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 22:38

��� �����, ��� ����������� ���� ������ ��� ���. ��������� ������.

�������� | ������ | ^ � �������� #8 | ������ | C������� ����������

10. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 14-���-16, 22:41

> ��� �����, ��� ����������� ���� ������ ��� ���. ��������� ������.

� ����� � «����������������» ������� ��� ������, � � � ������ ������� ������

�������� | ������ | ^ � �������� #9 | ������ | C������� ����������

11. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 14-���-16, 22:56

��� �������� ��� ����������� ���������� � 5-� ������ (��������� ����-�� ����������): «���� �� �������� ���������� �����, ��� ����� �� ������, ��� ���� ������� ������. ��������, �� ������ ��������� ������ ���������� ������!»

��� ��������� ���������.
char *argv[] ������������� argv — ������ ����������. sizeof �� �������� ������� ����� ������ ����� �������, �. �. int n = sizeof(argv[1]); ��� ��� ������ ��������� �� char, � �� ������ ������� ������ ���������� ��� ������, ������� �������� �� ������ argv[1].
���� ������ �������� ����� ��������������� ������, ����������� strlen (argv[1]). strlen ����� � ���������� string.h

�� ��� �� ��� ���� ��������� � new_s[i] �� ������ � ���-�� ����� ������ � �� ������� segmentation fault ������ ������� � ������� ������� ����� ��������� ���������� � ����������.

������: ����� ����������� ������ ���������� ��� malloc’�� ������� ��� � ����������� ����������� � ������ ����� �� ��������������. �. �. �� ���������� ������ ����� ������� � �� ������ ����� ������ �� �����. ��� ������ ����� ����������� ����� ������, ����� ���-�� ����� � ���� �� ����� ������. �������������, ���� �� ������ ������ ������, ����� ��������� �������� — �� ��������� ������ (� ����� ������) free (new_s);

�������� | ������ | ^ � �������� #8 | ������ | C������� ����������

12. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 14-���-16, 23:18

>> �� ��� �� ��� ���� ��������� � new_s[i] �� ������ � ���-�� ����� ������

� �� ������ ��, ���������� ��-�� ��� ����� ���������� ������ ������ (������� �, ����������, ������� ��������� ���������� ��������)

new_s = (char*) malloc(n*sizeof(int));

��� �� ���������, ����� ������, ��������� ������ ��� n int’��, ����������� �������� � ��� ��� � char’������� �������.
������ ����������� � ���, ��� ������ sizeof (int) = 4, ����� sizeof (char) = 1.

�. �. �� ��������� ������ � ������������� �������! ��� �������� ������� ��� �� ��� ��������. ��, ���� ��� ���� ���� ���������� ������ � 10000 ��������, ��� ��� ������ �� �� ��� ����� 40 �� ������ 10. ������ ��� ������ ������ ��������. �������� ���� �� ����������� ������ ��� ������ free ()

�������� | ������ | ^ � �������� #11 | ������ | C������� ����������

13. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 18:49

>[����������� ������]
> new_s = (char*) malloc(n*sizeof(int));
> ��� �� ���������, ����� ������, ��������� ������ ��� n int’��, ����������� ��������
> � ��� ��� � char’������� �������.
> ������ ����������� � ���, ��� ������ sizeof (int) = 4, ����� sizeof
> (char) = 1.
> �. �. �� ��������� ������ � ������������� �������! ��� �������� ������� ���
> �� ��� ��������. ��, ���� ��� ���� ���� ���������� ������ �
> 10000 ��������, ��� ��� ������ �� �� ��� ����� 40 ��
> ������ 10. ������ ��� ������ ������ ��������. �������� ���� �� �����������
> ������ ��� ������ free ()


������� ��������. ������ ������� ������. � ����� ������ ������� �� �����.
�� strlen ��� �� ��� ���������� �������, ��� strrev ������ ��� � �������, �� ��� �������� ��������� ����� ����� ���� ��

�������� | ������ | ^ � �������� #12 | ������ | C������� ����������

14. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 18:58

����� php ���� ��� ��� �������

� ���� �� ���������������� ������, ��� ��� ���� � ����� ������, �� ��� �������?
� �������, ������� �� ����������� �� ����� ������

�������� | ������ | ^ � �������� #13 | ������ | C������� ����������

15. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 19:01

�����, ������ �� ���� ��������, ���� ��� ������������������, � �� ��������������� � ���������� �� ���������. ��� �� �� ���

�������� | ������ | ^ � �������� #14 | ������ | C������� ����������

> ������ ���� ������ ���������� �� ��������, ��������� ��� � ����� ������ �
> �� �����.

�� ��� �� ��������� ������, � ��������� � ����� ������.

17. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 22:39

������ ���� ������ ���������� �� ��������, ��������� ��� � ����� ������ � �� �����.

int main(int argc, char *argv[])
<
if(argc + / �

��������� �� f2404 (ok) on 15-���-16, 22:53
�������� | ������ | ^ � �������� #17 | ������ | C������� ����������

21. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 23:38

>> ������ ���� ������ ���������� �� ��������, ��������� ��� � ����� ������ �
>> �� �����.
> �� ��� �� ��������� ������, � ��������� � ����� ������.

����.
strrev ������ ���� �����, � ���� ��������.
��� ������ , ��� �� ��������� ��� ����������� ������?
� ������ � ������� — ����� ����� �������.

� ����� �� ������� ���� �����, ���� �������� ���������, ����� ���-���� ������� ����� printf («%s», var)

�������� | ������ | ^ � �������� #19 | ������ | C������� ����������

27. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� f2404 (ok) on 16-���-16, 09:17

>>> ������ ���� ������ ���������� �� ��������, ��������� ��� � ����� ������ �
>>> �� �����.
>> �� ��� �� ��������� ������, � ��������� � ����� ������.
> ����.
> strrev ������ ���� �����, � ���� ��������.
> ��� ������ , ��� �� ��������� ��� ����������� ������?
> � ������ � ������� — ����� ����� �������.

��������� ������ — ��� ������� ���� ������ � ���������� ������, �������� ��������. �� ����, � ���������� � ��� ���� �������� ������ (����������) � ����� ������. strrev �������� ������ ���.

�������� | ������ | ^ � �������� #21 | ������ | C������� ����������

24. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 16-���-16, 00:27

���� ������� ����� ����������� ���� � ������ �������, �� ����� ����� ����������������� ����� � �� ���� = )

�������� | ������ | ^ � �������� #19 | ������ | C������� ����������

28. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� f2404 (ok) on 16-���-16, 09:17

> ���� ������� ����� ����������� ���� � ������ �������, �� ����� ����� �����������������
> ����� � �� ���� = )

���, ����� � �� ���� � ����, ���� ���� ���������� :)

�������� | ������ | ^ � �������� #24 | ������ | C������� ����������

20. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 15-���-16, 23:18

> ����, ��������, � �� ������� ����� ����� ����������, ���� ����� ������ �����
> ���������� ����� �������.

��� ����� ����� «����������». ������ ����� — ���, �� ����, ��������� ������ ��������, � ������� ������ ����������� ���������� ������, � ������ — ������ � ������. ������� ������ ������ ����� ��������������� ����� ����� ������� ������ � �������. � ������ ������� �����-�� ������ � ������� ����� ���� ������ ������. � ���� ������ ����� ������ �� ����� ������� ������.
��������:
char *str[] = < "Some", "Plain", "Strings" >; // ���������� ���������� argv
����� str ����� �������������, ��� ��������� ������ �� 3 ������ ������, ����������� ��� ���������� ����� ������� ������ — «Strings» + ������ ���������� ������ — ���������� 0.
�. �. ������ ������ ��� ����� strlen («Strings») + 1, �. �. 8, � ����� ������ ����� 4, 5 � 7 ��������������.
������� �������, str � ������ ������ ����� ������������� � ��� char str[3][8] = < . >;

�������� | ������ | ^ � �������� #17 | ������ | C������� ����������

16. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 21:36

� �� ���� �� —
���� ������ � ��������, �� � �� ������ ����� ������� � argv[1]
� ��������� ����� � argv[2]
��� ���, ���� � ����� ����� ���� ���������� argv ������ ��������� (�� ���������) �� ������� ��������

�������� | ������ | ^ � �������� #12 | ������ | C������� ����������

18. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 15-���-16, 22:41

> � �� ���� �� —
> ���� ������ � ��������, �� � �� ������ ����� ������� � argv[1]
> � ��������� ����� � argv[2]
> ��� ���, ���� � ����� ����� ���� ���������� argv ������ ��������� (��
> ���������) �� ������� ��������

��, �����. � ������� argv �������� ��������� �� ��������� (���������), ���������� ��������� � ��������� ������. ��������� ����������� ���������. ����������� ��� ��������� (������� ��� ������������ �����) ������������� �� ������ argv[0]. ���������� ��������� ������� argv ��������� � argc.

�� ������ ������������� ������������� ���������� ������. ������� �� ����, ��� �� � «��������» � ��� ������ � ��� ������. ���� �� ������ �������� ����������/������ (��������, int arr[12], x;), ��� �������� ����� � ������� malloc, �� ������ ����� ������ �� ����� ������ (x ��� arr[i] ����� �� ����� ����) — ��� ����� ������ ��, ��� �������� �� �����-�� ���������, ������� «������������» ���� ������� �� ���, ��� ������ ��������� �����. � ������ �������, ���� ��� ��������� ������ ������������ �������� calloc, �� ��� �������������� ������ (��������� ������) ���������� ������. ���� ����� ��������� ������ �� ����� �� ��� � ���������� ������ �������, �� ���, �� �������� �����, ��������� ��� ��� ���� ��� ��������� ������. �� ��� ������ �� ������. �������, ��� ����������� ������������, �� � ������ ��� ������� �������� ����, ���������� ������ ����� ����� ���������/�������������������.

�������� | ������ | ^ � �������� #16 | ������ | C������� ����������

22. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 23:46

>[����������� ������]
> ����������/������ (��������, int arr[12], x;), ��� �������� ����� � ������� malloc,
> �� ������ ����� ������ �� ����� ������ (x ��� arr[i] �����
> �� ����� ����) — ��� ����� ������ ��, ��� �������� ��
> �����-�� ���������, ������� «������������» ���� ������� �� ���, ��� ������ ���������
> �����. � ������ �������, ���� ��� ��������� ������ ������������ �������� calloc,
> �� ��� �������������� ������ (��������� ������) ���������� ������. ���� ����� ���������
> ������ �� ����� �� ��� � ���������� ������ �������, �� ���,
> �� �������� �����, ��������� ��� ��� ���� ��� ��������� ������. ��
> ��� ������ �� ������. �������, ��� ����������� ������������, �� � ������
> ��� ������� �������� ����, ���������� ������ ����� ����� ���������/�������������������.

�������� �� ���� ��������� ������ ��������, �.�. ���� �� ��� ���������, �� ��� ���� �����.

������ ��� ������� ������ ����, ���� ������� �������������� ��������� ������ ASCII � � �������� ��������� ����� �� �������� ��������.

�������� | ������ | ^ � �������� #18 | ������ | C������� ����������

23. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 15-���-16, 23:53

����, ��������, ����� ������� ��������������.

�������� | ������ | ^ � �������� #22 | ������ | C������� ����������

25. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 16-���-16, 02:20

> ����, ��������, ����� ������� ��������������.

����������� ������ �� ���������� ��������, � ����� ����������� �� wchar (wchar.h � ��� � ����) � ���������������. ��� ��� �� ����� ������ ��������

�������� | ������ | ^ � �������� #23 | ������ | C������� ����������

26. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 16-���-16, 08:38

>[����������� ������]
> new_s = (char*) malloc(n*sizeof(int));
> ��� �� ���������, ����� ������, ��������� ������ ��� n int’��, ����������� ��������
> � ��� ��� � char’������� �������.
> ������ ����������� � ���, ��� ������ sizeof (int) = 4, ����� sizeof
> (char) = 1.
> �. �. �� ��������� ������ � ������������� �������! ��� �������� ������� ���
> �� ��� ��������. ��, ���� ��� ���� ���� ���������� ������ �
> 10000 ��������, ��� ��� ������ �� �� ��� ����� 40 ��
> ������ 10. ������ ��� ������ ������ ��������. �������� ���� �� �����������
> ������ ��� ������ free ()

������ ��� ��� �������� ���������:
�.�. ������ ����

��� �������� int n = strlen(argv[1]);
� ����� > new_s = (char*) malloc(n*sizeof(char));
� � ����� free(new_s)
����� �� ������?

�������� | ������ | ^ � �������� #12 | ������ | C������� ����������

29. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� f2404 (ok) on 16-���-16, 09:20

> ������ ��� ��� �������� ���������:
> �.�. ������ ����
> ��� �������� int n = strlen(argv[1]);
> � ����� > new_s = (char*) malloc(n*sizeof(char));
> � � ����� free(new_s)
> ����� �� ������?

����� �����.
������ int ��� �������� ����� ������������ size_t.
�������� ����� �� n, � n+1 ����: ��������� ���� ��� ����-�����������.
� � �� ����� ��������� ��������� malloc � ����, �� ���� (char*) �� �����.

�������� | ������ | ^ � �������� #26 | ������ | C������� ����������

30. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 16-���-16, 11:16

>[����������� ������]
>> �.�. ������ ����
>> ��� �������� int n = strlen(argv[1]);
>> � ����� > new_s = (char*) malloc(n*sizeof(char));
>> � � ����� free(new_s)
>> ����� �� ������?
> ����� �����.
> ������ int ��� �������� ����� ������������ size_t.
> �������� ����� �� n, � n+1 ����: ��������� ���� ��� ����-�����������.
> � � �� ����� ��������� ��������� malloc � ����, �� ���� (char*)
> �� �����.

��, ������ ��������, ��� ����� ����-���� �����.

���� — ������� �����, � ���� ���� ���������� ������� ���� ��������� substr.

�������� | ������ | ^ � �������� #29 | ������ | C������� ����������

31. «���������� �� ��� ���������? (��������� ������ ��).» �1 + / �
��������� �� dcc0 on 16-���-16, 11:26

��������� ����.
��� ����� ���������� substr ������������ ��������� ������ ��� ��������, �.�. � ����� ��� ����� �����������.
substr(string 0 1)
substr(string 1)
������ ��� � �� ����� ����, ��� �������� ���������� � �� ����������, ���������� ������ ��� ����, ����� ���� ����-�� ����� ����� �������� ���� substr, ����� ����������, ��� � ������. ��� ���� ��������� � ���������, � substr �������� ��� ��������� ������������� ������������ �� ������ ��, � ����� �������� ��� ���� �� ��.
������, ���������� �� ������ ������ ��, �������� ��� ��������� , �������� �������
stdlib.h , ��� ��� ������������ �������������� ����� �� char � int — ������� atoi

#include
#include
#include
#include
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
int main(int argc, char *argv[])
<
setlocale( LC_CTYPE, «.1251» );
char *a=argv[1];

if(argc 100) <
printf(«String is too long!»);
return 0;
>
++i;
>
if (argv[2]!=0 && argv[3]!=0 ) <

int c_end;
c_end = atoi(argv[3]);

�������� | ������ | ^ � �������� #30 | ������ | C������� ����������

32. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 16-���-16, 14:58

������ ������� ����� ���� ���������� ���������.
����� ������� ������ � ��������, �� ����� ���� ����� � �������. � ����� � �������� ��������� ��� ���� ��������. ������ ����� ���.

#include
#include
#include
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif

char stev(char * a, int i) <


>
>
int main (int argc, char *argv[]) <
setlocale( LC_CTYPE, «.1251» );
if (argc == 1) <
printf(«Enter the string!»);
return 0;
>
if (argc > 1) <
char *a=argv[1];
int z = 0;
while (argv[1][z] != 0) <
++z;
>
stev(argv[1], z);
printf(«%s», a);
>
>

�������� | ������ | ^ � �������� #31 | ������ | C������� ����������

33. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� f2404 (ok) on 16-���-16, 15:02

> ������ ������� ����� ���� ���������� ���������.
> ����� ������� ������ � ��������, �� ����� ���� ����� � �������. �
> ����� � �������� ��������� ��� ���� ��������. ������ ����� ���.

� ����� �� ����������� TCHAR � �� ����������� ���?

�������� | ������ | ^ � �������� #32 | ������ | C������� ����������

34. «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 16-���-16, 17:23

>> ������ ������� ����� ���� ���������� ���������.
>> ����� ������� ������ � ��������, �� ����� ���� ����� � �������. �
>> ����� � �������� ��������� ��� ���� ��������. ������ ����� ���.
> � ����� �� ����������� TCHAR � �� ����������� ���?

�� ���������� ��� � ����, ����� �������� �� ����.
� ��� ��� ��������� ��������

�������� | ������ | ^ � �������� #33 | ������ | C������� ����������

36 . «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 16-���-16, 18:02

�� ���������� � ����, ��� �������� ����������� � ���������� a (char *a=argv[1];). ������ ����� �� ���� (���� while � ����� stev()) �� ����������� � argv[1]?

��, ������ �� ��� �������. �� ������ �� ������� �������� ���� ���������� ���� ��������������. ����� � �������� ���� ��� ����� ����� �������� � ������������ (� ������ � ������������) ������� ����� ����� � ����� ������� :)

�������� | ������ | ^ � �������� #32 | ������ | C������� ����������

35 . «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� Asgard on 16-���-16, 17:50

> � � �� ����� ��������� ��������� malloc � ����, �� ���� (char*)
> �� �����.

��������. ��, ����� man malloc �������, ��� void *malloc(size_t size); � ����� ��������� ������� ����� ���������� ����. ��, ��� �� ������� man ���� ������� ��� �������� ���� ����, �. �. ������ «suitably aligned for any built-in type». �� ��������, ����������� �� ������ ���� built-in type, ������ ������������ ���������� �������� ������ ���������� ����� ������, ������ ������ ��� ������: «� ��� ���� � ���� ��������� ���-�� �� ���������� typedef’� ��� �������� ������� ���� �����-���. «

�������� | ������ | ^ � �������� #29 | ������ | C������� ����������

37 . «���������� �� ��� ���������? (��������� ������ ��).» +1 + / �
��������� �� f2404 (ok) on 16-���-16, 18:21

>> � � �� ����� ��������� ��������� malloc � ����, �� ���� (char*)
>> �� �����.
> ��������. ��, ����� man malloc �������, ��� void *malloc(size_t size); � �����
> ��������� ������� ����� ���������� ����. ��, ��� �� ������� man ����
> ������� ��� �������� ���� ����, �. �. ������ «suitably aligned for
> any built-in type». �� ��������, ����������� �� ������ ���� built-in type,
> ������ ������������ ���������� �������� ������ ���������� ����� ������, ������ ������
> ��� ������: «� ��� ���� � ���� ��������� ���-�� �� ����������
> typedef’� ��� �������� ������� ���� �����-���. «

MEM02-C-EX1: Do not immediately cast the results of malloc() for code that will be compiled using a C90-conforming compiler because it is possible for the cast to hide a more critical defect (see DCL31-C. Declare identifiers before using them for a code example that uses malloc() without first declaring it).

�������� | ������ | ^ � �������� #35 | ������ | C������� ����������

38 . «���������� �� ��� ���������? (��������� ������ ��).» + / �
��������� �� dcc0 on 20-���-16, 15:42

��������� � ���-���� ���� ���:
����� ��� ����������, ��� ������ �� ���� �� ����� �� ������ ����������� � ��������� ����������.

#include
#include
#include
//This cut x
char subb (char * x, int i) <
x[i]=’\0′;
>
//This cut y
char subb2 (char * y, int i) <
int k = 0;
while (k != strlen(y)+1) <
y[k]=y[i];
i++;
k++;
>
>
//It gets an argumet like 1234 or abcd. All symbols must be uniqe
int main (int argc, char *argv[]) <
if (argc a[i-1]) <
i++;
>

��� ����������� ������ �������

��� ���� ��������� � ����������� � ������ �� ���� ������ ��� PHP �� ����� ����������� ������ Unicode.

��� �������� Unicode, �� �������� � PHP ������ ��� ����������� ���������� ������������ ��� ��� �������� ����. ��, PHP 8-������ ������. �������� ���������� ����� � PHP: Perl -Mutf8 -e ‘����������� ��������� �������� («? ? ? ?»)’ �� �������� �����, �� «? ? ? ?». — �������

�, � ���������, �����, ��� ��������� atm � PHP � unicode � ������ ������ �����������. ��� ����� �������, ���������� ���������� � PHP6.

���� MultiByte ������� ������������ ������� ����������������, ����������� ��� ������ � ��������, �� ��� ������������ � �� ����� �������� ���������� �������. ����� �� ��� �������� ������� ��� ��������� ������.

�, �������, ����� ����������� ���� ����� ��� �����-���� ������ �������, ����� ��������, �������� �� ���. � � ������ ������� ��� ���������� ���� �������� ������� ������: ����������� ���� ����� � �������, ����� �� ����� ������� ������ ������������ �� PHP6.

6 �������

��������, ��� ������ ������� ����� ���������� ���������� ��������� �����. �� ����� ����� ������������ ����� ��� ���� �����.

��� ��� ���� ������ � �������������� ���������� ���������:

��� ������ ������. �������, ��� �������� ��� �������� �������� ��������� (�������������� � ����������� mb_internal_encoding s):

������� ������� ������������ ������ UTF-8 ����� ���������, ��� ������� mbstring � PCRE/Mbstring � PCRE ����� ��������� �������. �� ������ ������� ������� ����� ����, �������� ��������� ���.

IntlBreakIterator ����� ������������ ������� � PHP 5.5 (intl 3.0);

��� ������������� ������ (PHP)

����� � ������ �������� ������� �������� �� �������� (�������������), � PHP ���� ������� string strrev(string str) .

strrev()

������� strrev() , ��������� ���� �������� � ������, � ���������� �� � �������� �������.

������

������������� ������ «expange».

strrev() � ������

���� ������������� ������ � ������� � �������� ���������, �� � ���������� �� ������� ����������� �������.

������ �������� ����� ����� ���������.

������ � ������������ ���� ������ � windows-1251 (��� ����� ������ ���������), ����������� �� �������� strrev() , ����� �������� ������� � ������.

������ � ����������� ������ � ������, ��� ������ ������ ������ ��������� �������, ����� ����������� ������ �������� array_reverse() , � ��������� ���������� ������.

������� ������� ������� ���� �������.

strrev_enc() � ������ 1

�� ������ ������� ��������� windows-1251 (������ ���-���� �� ������� �����). ������� ��������� ��� �� ���� �������� � ������.

strrev_arr() � ������ 2

�� ������ ������� ��������� �� �����.

������������������

��������� �� �������� strrev_enc() � strrev_arr() , ������� strrev_enc() �������� ������� �������� � 4 ����.

������ �������� 1000 ��� ��������������� ������ ��������� ������ �� expange�.

strrev_arr() ���������� �� 0.0059 ������;

strrev_arr() ���������� �� 0.0251 ������.

���������

������� �����

�����������

������ � 11 �������, ��������� �����: echo strrev_arr($str); // egnapxe �� ������ ��������

������ ������ �� �������� �����: Fatal error: Call to undefined function strrev_enc() in index.php on line 11

���� �� ����

������� ������ ��������� ��� �����������:

���������� ����

�� ������ ������ ����� ����� ���������� ����:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL