Sponsored Content
Top Forums Programming Copying 1024 bytes data in 3-bytes chunk Post 302513077 by disaster on Tuesday 12th of April 2011 09:41:27 AM
Old 04-12-2011
The dd function you posted would actually copy three times a junk of 1024 bytes, ie. 3K bytes in total.
But I understand your question in such a way that you want to read 3 bytes in at once and do that same 300 times, right?

memcpy() is not the right function when you want to store it into a file. You simply need to store 3 bytes in a buffer of char buf[3]; and then use fwrite to write this buffer into a file. Wrap a loop around it so it gets done until 1024bytes are written and you're done
This User Gave Thanks to disaster For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove first N bytes and last N bytes from a binary file on AIX.

Hi all, Does anybody know or guide me on how to remove the first N bytes and the last N bytes from a binary file? Is there any AWK or SED or any command that I can use to achieve this? Your help is greatly appreciated!! Best Regards, Naveen. (1 Reply)
Discussion started by: naveendronavall
1 Replies

2. Shell Programming and Scripting

80 bytes per line ???

I am creating ASCII file from Oracle procedure into Unix box. I undertstand there is NO CRLF as I am writing it into one complete string .. but need to know what is best way to format the file with 80bytes per line only before handing over to another program. Thanks in advance regards... (14 Replies)
Discussion started by: u263066
14 Replies

3. UNIX for Dummies Questions & Answers

Files with zero bytes

Hi All, I want to find zero byte files in the given folder for the given day. I know we can use find . -size 0 -mtime 0 But is there an option for file creation.? ls -lart | grep ' 0 Apr 24' will also work. Also is there any alternative using awk ? I want to know how to use awk in... (1 Reply)
Discussion started by: preethgideon
1 Replies

4. IP Networking

Command to ping 1500 bytes of data to a destination system

Hi All, I want to ping 1500 bytes of data from a pc to another pc in the network. What is command used for the same? Thanks (2 Replies)
Discussion started by: rvan
2 Replies

5. Shell Programming and Scripting

Error PHP Fatal error: Allowed memory size of 67108864 bytes exhausted(tried to allocate 401 bytes)

While running script I am getting an error like Few lines in data are not being processed. After googling it I came to know that adding such line would give some memory to it ini_set("memory_limit","64M"); my input file size is 1 GB. Is that memory limit is based on RAM we have on... (1 Reply)
Discussion started by: elamurugu
1 Replies

6. UNIX for Dummies Questions & Answers

X bytes of 0, Y bytes of random data, Z bytes of 5, T bytes of 1. ??

Hello guys. I really hope someone will help me with this one.. So, I have to write this script who: - creates a file home/student/vmdisk of 10 mb - formats that file to ext3 - mounts that partition to /mnt/partition - creates a file /mnt/partition/data. In this file, there will... (1 Reply)
Discussion started by: razolo13
1 Replies

7. Shell Programming and Scripting

Shell script - entered input(1-40 bytes) needs to be converted exactly 40 bytes

hello, suppose, entered input is of 1-40 bytes, i need it to be converted to 40 bytes exactly. example: if i have entered my name anywhere between 1-40 i want it to be stored with 40 bytes exactly. enter your name: donald duck (this is of 11 bytes) expected is as below - display 11... (3 Replies)
Discussion started by: shravan.300
3 Replies

8. Shell Programming and Scripting

Get file's first x bytes

is there a better way to do this: head -c 10000k /var/dump.log | head -c 6000k unfortunately, the "-c" option is not available on sun solaris. so i'm looking at "dd". but i dont know how to use it to achieve the same exact goal as the above head command. this needs to work on both solaris... (5 Replies)
Discussion started by: SkySmart
5 Replies

9. What is on Your Mind?

Definition of Bytes

A byte is the smallest unit of storage which can be accessed in a computer's memory- either in RAM or ROM.It also holds exactly 8 bits.But its old view one byte was sufficient to hold one 8 bit character.Modern days especially on .NET or international versions of Win 32, 16 bits is needed. ... (2 Replies)
Discussion started by: stoudtLion
2 Replies

10. Programming

Best way to axe N bytes from the right?

say that i have strings that end in "text" foo.9.text, bar.10.text, baz.11.text and i want a C function to chop off the last four characters and replace each string with a '\0'; obviously with error-checking. Any ideas? TIA! (7 Replies)
Discussion started by: Gary Kline
7 Replies
fcopy(n)						       Tcl Built-In Commands							  fcopy(n)

__________________________________________________________________________________________________________________________________________________

NAME
fcopy - Copy data from one channel to another SYNOPSIS
fcopy inchan outchan ?-size size? ?-command callback? _________________________________________________________________ DESCRIPTION
The fcopy command copies data from one I/O channel, inchan to another I/O channel, outchan. The fcopy command leverages the buffering in the Tcl I/O system to avoid extra copies and to avoid buffering too much data in main memory when copying large files to slow destinations like network sockets. The fcopy command transfers data from inchan until end of file or size bytes have been transferred. If no -size argument is given, then the copy goes until end of file. All the data read from inchan is copied to outchan. Without the -command option, fcopy blocks until the copy is complete and returns the number of bytes written to outchan. The -command argument makes fcopy work in the background. In this case it returns immediately and the callback is invoked later when the copy completes. The callback is called with one or two additional arguments that indicates how many bytes were written to outchan. If an error occurred during the background copy, the second argument is the error string associated with the error. With a background copy, it is not necessary to put inchan or outchan into non-blocking mode; the fcopy command takes care of that automatically. However, it is nec- essary to enter the event loop by using the vwait command or by using Tk. You are not allowed to do other I/O operations with inchan or outchan during a background fcopy. If either inchan or outchan get closed while the copy is in progress, the current copy is stopped and the command callback is not made. If inchan is closed, then all data already queued for outchan is written out. Note that inchan can become readable during a background copy. You should turn off any fileevent handlers during a background copy so those handlers do not interfere with the copy. Any I/O attempted by a fileevent handler will get a "channel busy" error. Fcopy translates end-of-line sequences in inchan and outchan according to the -translation option for these channels. See the manual entry for fconfigure for details on the -translation option. The translations mean that the number of bytes read from inchan can be different than the number of bytes written to outchan. Only the number of bytes written to outchan is reported, either as the return value of a syn- chronous fcopy or as the argument to the callback for an asynchronous fcopy. Fcopy obeys the encodings and character translations configured for the channels. This means that the incoming characters are converted internally first UTF-8 and then into the encoding of the channel fcopy writes to. See the manual entry for fconfigure for details on the -encoding and -translation options. No conversion is done if both channels are set to encoding "binary" and have matching translations. If only the output channel is set to encoding "binary" the system will write the internal UTF-8 representation of the incoming characters. If only the input channel is set to encoding "binary" the system will assume that the incoming bytes are valid UTF-8 characters and convert them according to the output encoding. The behaviour of the system for bytes which are not valid UTF-8 characters is undefined in this case. EXAMPLES
The first example transfers the contents of one channel exactly to another. Note that when copying one file to another, it is better to use file copy which also copies file metadata (e.g. the file access permissions) where possible. fconfigure $in -translation binary fconfigure $out -translation binary fcopy $in $out This second example shows how the callback gets passed the number of bytes transferred. It also uses vwait to put the application into the event loop. Of course, this simplified example could be done without the command callback. proc Cleanup {in out bytes {error {}}} { global total set total $bytes close $in close $out if {[string length $error] != 0} { # error occurred during the copy } } set in [open $file1] set out [socket $server $port] fcopy $in $out -command [list Cleanup $in $out] vwait total The third example copies in chunks and tests for end of file in the command callback proc CopyMore {in out chunk bytes {error {}}} { global total done incr total $bytes if {([string length $error] != 0) || [eof $in]} { set done $total close $in close $out } else { fcopy $in $out -size $chunk -command [list CopyMore $in $out $chunk] } } set in [open $file1] set out [socket $server $port] set chunk 1024 set total 0 fcopy $in $out -size $chunk -command [list CopyMore $in $out $chunk] vwait done SEE ALSO
eof(n), fblocked(n), fconfigure(n), file(n) KEYWORDS
blocking, channel, end of line, end of file, nonblocking, read, translation Tcl 8.0 fcopy(n)
All times are GMT -4. The time now is 08:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy