cara mengubah bahasa c ke bahasa php

Dalam bahasa c Memcpy(skip, skip+shift,(m-shift)*size of(int)); Memset(skip + m-shift,0,shifting(int));

Saya bingung bagaimana dalam bahasa PHP nya

avatar zizi27
@zizi27

1 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

1 Jawaban:

Hal terbesar yang harus diperhatikan adalah bahwa dalam array C (dan string) diidentifikasi oleh pointer ke memori, sementara di PHP mereka adalah warga kelas satu. Jadi pemetaan pointer aritmatika bisa jadi rumit. Secara khusus, pointer ke string yang sudah ada diimbangi relatif terhadap permulaan string, bukan pada awal memori (jadi karakter pertama dari sebuah string selalu berada pada posisi 0). Jadi sepertinya parameter tambahan untuk memcpy diperlukan untuk menentukan tujuan secara lengkap (satu parameter untuk mengidentifikasi string, satu untuk mengidentifikasi offsetnya).

PHP Code:


function memset(&$buffer, $c, $num)
{
    $buffer = str_repeat($c, $num);
}

function memcpy(&$dest, $offset, $src, $num=-1)
{
    // Often, we want to copy the entire $src. This saves us having to call
    // strlen($src) before calling memcpy() in that situation
    // memcpy($foo, 0, $bar) will copy ALL of $bar into the initial
    // part of $foo.
    if($num==-1) $num=strlen($src);
    $dest = substr($dest, 0, $offset).substr($src, 0, $num).substr($dest, $offset+$num);
}

PHP Code:

 $foos = 'foofoo';
memset($record, ' ', 200);
memcpy($record, 4, $foos, 3);
memcpy($record, 14, $foo); // Doubles as an illustration of the default argument.
memcpy($record, 29, '360');
memcpy($record, 200, "\r\n"); // Look! No buffer overrun!

source: http://board.phpbuilder.com/showthread.php?10312671-memcpy-and-memset-php-equivalents

avatar keccikun
@keccikun

364 Kontribusi 196 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban