To treat a chunk of memory as a file, it must be “opened” and a handle returned for future file reference and interaction. Likewise, the memory-file must be “closed” when you no longer need it. To accomplish these tasks, I’ve crafted the mem_open() and mem_close() functions.
Continue reading
Author Archives: dgookin
Finding Characters
Difficulty: ★ ★ ☆ ☆
When I was working on last month’s Exercise, I scoured the C library for a function that returned the number of specific characters found in a string. The closest I could find was strchr(), which returns the location of a given character in a string. You can set this function in a loop to find subsequent characters, but what I needed was a tally, a total count of all matching characters in the string.
Continue reading
Memory Files
In the Unix environment, everything is a file. For example, you can open the terminal as a file, which I covered in a previous Lesson. But what about memory? Can you open memory as a file? And why would you want to?
Continue reading
The camelCase to snake_case Conversion with Proper Memory Allocation
With all the storage available in a modern computer, it’s easy — and often perfectly okay — to be overly generous when allocating memory. Still, the old coder in me has a lingering desire to save every byte possible. So when it comes to crafting a solution for this month’s Exercise, my desire is to be byte stingy.
Continue reading
A Better camelCase to snake_case Conversion
My solution for this month’s Exercise took some terrible assumptions. First, that the strings are merely output and not stored. Second, that the strings are perfectly formed camelCase and snake_case. In this Lesson, I address the first concern.
Continue reading
From camelCase to snake_case – Solution
The challenge for this month’s Exercise is to convert a name from camelCase to snake_case and vice-versa. As usual, several approaches provide a possible solution. The directions were to output the results and not store them, so my solution is rather simple.
Continue reading
Using scanf() to Build a String – Part V
In my code update for last week’s Lesson, I used return statements to send strings back to the main() function. This technique works — only once, even though the strings are declared static in the token() function.
Continue reading
From camelCase to snake_case
Difficulty: ★ ★ ☆ ☆
The Great Coding Wars host many battles. For example, VIM versus Emacs (add in Nano for extra military action). Also the fight between spaces and tabs for indenting. Add to these conflicts a minor skirmish: whether to use camelCase or snake_case naming conventions.
Continue reading
Using scanf() to Build a String – Part IV
I refer to the process of converting special characters into strings as tokenizing. The token is a character or string — a code. This code is translated into something else, which allows the program to deal with complex items in a simple manner.
Continue reading
Using scanf() to Build a String – Part III
Unless the code must run endlessly, such as a program that operates a gas pump, an endless loop isn’t something you want. From last week’s Lesson, I crafted an endless loop to accept single-word input from the scanf() function to build a string. But no string is output because the loop never ends! It’s time to address this situation.
Continue reading