Top-rated C recipes http://code.activestate.com/recipes/langs/c/top/2017-05-06T20:53:54-07:00ActiveState Code RecipesPython-C-Interface: Check whether a given dictionary contains only valid keys (C) 2017-05-06T20:53:54-07:00Jorj X. McKiehttp://code.activestate.com/recipes/users/4193772/http://code.activestate.com/recipes/580799-python-c-interface-check-whether-a-given-dictionar/ <p style="color: grey"> C recipe 580799 by <a href="/recipes/users/4193772/">Jorj X. McKie</a> (<a href="/recipes/tags/c_interface/">c_interface</a>, <a href="/recipes/tags/python/">python</a>). </p> <p>This function is given a Python dictioanry and a list of string / unicode values. It will check whether all dictionary keys occur in this list and will return 1 (true) or 0 (false).</p> Random Number Game (C) 2012-03-29T03:47:52-07:00Jacob A. Bridgeshttp://code.activestate.com/recipes/users/4181498/http://code.activestate.com/recipes/578088-random-number-game/ <p style="color: grey"> C recipe 578088 by <a href="/recipes/users/4181498/">Jacob A. Bridges</a> (<a href="/recipes/tags/c/">c</a>, <a href="/recipes/tags/game/">game</a>, <a href="/recipes/tags/guessing/">guessing</a>, <a href="/recipes/tags/number/">number</a>). </p> <p>An old game I created freshman year of college. For use on Windows OS only. (The code contains a few Windows system calls.)</p> null null (C) 2013-05-26T10:59:13-07:00Joe Smithhttp://code.activestate.com/recipes/users/4168055/http://code.activestate.com/recipes/577019-null-null/ <p style="color: grey"> C recipe 577019 by <a href="/recipes/users/4168055/">Joe Smith</a> (<a href="/recipes/tags/null/">null</a>). Revision 2. </p> <p>null null</p> Self-Printing Program (C) 2009-06-05T01:19:17-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576798-self-printing-program/ <p style="color: grey"> C recipe 576798 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/tricky/">tricky</a>). </p> <p>The two key tricks here are using a string with an embedded %s specifier to allow the string to contain itself when printed, and to use the %c format specifier to allow printing out special characters like newlines, which could not otherwise be embedded in the output string. </p> Add function to Python's __builtin__ module through C API (C) 2015-10-16T12:11:58-07:00airweenhttp://code.activestate.com/recipes/users/4192997/http://code.activestate.com/recipes/579110-add-function-to-pythons-__builtin__-module-through/ <p style="color: grey"> C recipe 579110 by <a href="/recipes/users/4192997/">airween</a> (<a href="/recipes/tags/api/">api</a>, <a href="/recipes/tags/builtins/">builtins</a>, <a href="/recipes/tags/c/">c</a>, <a href="/recipes/tags/exten/">exten</a>, <a href="/recipes/tags/python/">python</a>). </p> <p>Add function to __builtin__ module through C API</p> <p>Sometimes it need to embedding a Python script to a C code, and it references to a function, which also provided by the same C code. Then you have to import the module, as you defined in your C code.</p> <p>But this import would be skipped, if you add your function to your __builtin__ module. In Python3 (3.5), there is the PyModule_AddFunctions() function, but in the previous versions, you can make it like this snippet.</p> <p>See these recipes:</p> <p>Makefile: <a href="https://code.activestate.com/recipes/579111-add-function-to-__builtin__-module-through-c-api-c/" rel="nofollow">https://code.activestate.com/recipes/579111-add-function-to-__builtin__-module-through-c-api-c/</a></p> <p>Python script: <a href="https://code.activestate.com/recipes/579112-add-function-to-__builtin__-module-through-c-api-c/" rel="nofollow">https://code.activestate.com/recipes/579112-add-function-to-__builtin__-module-through-c-api-c/</a></p> Complex numbers dynamic allocation (C) 2013-05-15T08:54:39-07:00Emilianhttp://code.activestate.com/recipes/users/4186515/http://code.activestate.com/recipes/578519-complex-numbers-dynamic-allocation/ <p style="color: grey"> C recipe 578519 by <a href="/recipes/users/4186515/">Emilian</a> . </p> <p>Saregard</p> Recursive string suffix (C) 2013-05-15T08:20:56-07:00Emilianhttp://code.activestate.com/recipes/users/4186515/http://code.activestate.com/recipes/578518-recursive-string-suffix/ <p style="color: grey"> C recipe 578518 by <a href="/recipes/users/4186515/">Emilian</a> . </p> <p>Saregard</p> Wav audio file dynamic range compressor (C) 2013-04-18T15:04:25-07:00Granning Stolinehttp://code.activestate.com/recipes/users/4186069/http://code.activestate.com/recipes/578510-wav-audio-file-dynamic-range-compressor/ <p style="color: grey"> C recipe 578510 by <a href="/recipes/users/4186069/">Granning Stoline</a> (<a href="/recipes/tags/audio/">audio</a>, <a href="/recipes/tags/compressor/">compressor</a>, <a href="/recipes/tags/dynamic/">dynamic</a>, <a href="/recipes/tags/file/">file</a>, <a href="/recipes/tags/range/">range</a>, <a href="/recipes/tags/wav/">wav</a>). Revision 4. </p> <p>Wav audio file dynamic range compressor</p> Small random number generator (C) 2012-05-15T19:49:34-07:00Sachin Joglekarhttp://code.activestate.com/recipes/users/4181845/http://code.activestate.com/recipes/578134-small-random-number-generator/ <p style="color: grey"> C recipe 578134 by <a href="/recipes/users/4181845/">Sachin Joglekar</a> (<a href="/recipes/tags/generate/">generate</a>, <a href="/recipes/tags/malloc/">malloc</a>, <a href="/recipes/tags/random/">random</a>, <a href="/recipes/tags/stdlib/">stdlib</a>). </p> <p>Generates random numbers in a given range using malloc function in stdlib.h. Based on the observation that the memory address allocated during malloc is usually 'random' (for humans). takes in two arguments- start of range, end of range.</p> Finding the limits (C) 2012-03-16T10:46:32-07:00Boubakrhttp://code.activestate.com/recipes/users/4176416/http://code.activestate.com/recipes/578077-finding-the-limits/ <p style="color: grey"> C recipe 578077 by <a href="/recipes/users/4176416/">Boubakr</a> . </p> <p>a simple program to output the values corresponding to the symbols defined in the header files.</p> Implementation of Knuth–Morris–Pratt algorithm (C) 2011-10-15T00:33:41-07:00Shao-chuan Wanghttp://code.activestate.com/recipes/users/4168519/http://code.activestate.com/recipes/577908-implementation-of-knuthmorrispratt-algorithm/ <p style="color: grey"> C recipe 577908 by <a href="/recipes/users/4168519/">Shao-chuan Wang</a> (<a href="/recipes/tags/kmp/">kmp</a>, <a href="/recipes/tags/matching/">matching</a>, <a href="/recipes/tags/string/">string</a>). Revision 2. </p> <p>Knuth–Morris–Pratt (KMP) is a linear time string matching algorithm.</p> <p><a href="http://en.wikipedia.org/wiki/Knuth%25E2%2580%2593Morris%25E2%2580%2593Pratt_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm</a></p> <p>This recipe gives a C-version implementation.</p> Bit operation (C) 2011-02-27T05:21:35-08:00Shao-chuan Wanghttp://code.activestate.com/recipes/users/4168519/http://code.activestate.com/recipes/577589-bit-operation/ <p style="color: grey"> C recipe 577589 by <a href="/recipes/users/4168519/">Shao-chuan Wang</a> (<a href="/recipes/tags/bit/">bit</a>, <a href="/recipes/tags/operation/">operation</a>). </p> <p>A bit operation (could be very long).</p> csc prototype to arduino board with python API. part I (C) 2010-12-26T12:14:33-08:00cheeng shu chinhttp://code.activestate.com/recipes/users/163970/http://code.activestate.com/recipes/577520-csc-prototype-to-arduino-board-with-python-api-par/ <p style="color: grey"> C recipe 577520 by <a href="/recipes/users/163970/">cheeng shu chin</a> (<a href="/recipes/tags/api/">api</a>, <a href="/recipes/tags/arduino/">arduino</a>, <a href="/recipes/tags/c/">c</a>, <a href="/recipes/tags/python/">python</a>, <a href="/recipes/tags/serial/">serial</a>). Revision 2. </p> <p>Few day ago, i'm try out arduino UNO robotic board. found it not that easy to use (C &lt;--> Python). I wrote a arduino UNO prototype to serial API, which can interface to any programming Language. as long as the programming Language can interface to virtual serial port and using serial API, this recipe can be use... Requirement:</p> <p>Upload this recipes to arduino uno with my prototype code (name "csc.pde" as below)</p> <p>Base concept:</p> <ol> <li>wait from serial reply "?" and ready for read</li> <li>pass function name as string to arduino uno</li> <li>pass all argument as string to arduino uno</li> <li>read result as string from arduino uno</li> </ol> <p>Can easy extend it to support:</p> <ol> <li>python API(open source and i like most) in part II</li> <li>other arduino board</li> <li>Bluetooth with serial interface</li> <li>any PC can control the arduino board easily via your prefer Language.</li> <li>interrupt </li> </ol> <p>Future add-on:</p> <ol> <li>Json string passing to arduino</li> <li>Json Reply from arduino</li> <li>thread base design</li> <li>Interrupt direct call</li> </ol> <p>Please study it and extend it and share among open source members especially in python... :)</p> <p>Next <a href="http://code.activestate.com/recipes/577521-csc-prototype-to-arduino-board-with-python-api-par/">Part II</a></p> Setting a file descriptor to blocking or non-blocking mode (C) 2010-09-06T11:20:53-07:00Emilio Montihttp://code.activestate.com/recipes/users/4173642/http://code.activestate.com/recipes/577384-setting-a-file-descriptor-to-blocking-or-non-block/ <p style="color: grey"> C recipe 577384 by <a href="/recipes/users/4173642/">Emilio Monti</a> (<a href="/recipes/tags/blocking/">blocking</a>, <a href="/recipes/tags/file_descriptor/">file_descriptor</a>, <a href="/recipes/tags/non_blocking/">non_blocking</a>). Revision 2. </p> <p>A simple function to set a file descriptor (i.e. a socket) to blocking or non-blocking mode.</p> Free segmentation fault caused by buffer overflow (C) 2009-10-10T02:45:48-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576927-free-segmentation-fault-caused-by-buffer-overflow/ <p style="color: grey"> C recipe 576927 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/bufer_overflow/">bufer_overflow</a>). Revision 2. </p> <p>Free segmentation fault caused by buffer overflow</p> escape url characters (C) 2009-09-28T20:41:05-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576916-escape-url-characters/ <p style="color: grey"> C recipe 576916 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/string/">string</a>). </p> <p>对于url中的一些特殊字符会被转义以利传输, * 并且, 归档服务器上, php写入cookie中的值可能存在特殊字符, 需要转换</p> the list template (C) 2009-07-30T22:59:20-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576864-the-list-template/ <p style="color: grey"> C recipe 576864 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/list/">list</a>). </p> <p>reference: <a href="http://www.makelinux.net/ldd3/chp-11-sect-5.shtml" rel="nofollow">http://www.makelinux.net/ldd3/chp-11-sect-5.shtml</a></p> make subdirs (C) 2009-06-16T19:47:31-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576813-make-subdirs/ <p style="color: grey"> C recipe 576813 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/mkdir/">mkdir</a>). </p> <p>make subdirs recursively</p> process exist? by reading /proc (C) 2009-06-03T20:34:50-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576794-process-exist-by-reading-proc/ <p style="color: grey"> C recipe 576794 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/proc/">proc</a>). </p> <p>判断一个进程还存不存在</p> sigaction on SIGCHLD (C) 2009-05-25T23:54:57-07:00J Yhttp://code.activestate.com/recipes/users/4170398/http://code.activestate.com/recipes/576776-sigaction-on-sigchld/ <p style="color: grey"> C recipe 576776 by <a href="/recipes/users/4170398/">J Y</a> (<a href="/recipes/tags/signal/">signal</a>). Revision 2. </p> <p>sigaction</p>