Months have a pattern: All months feature weeks of seven days. The month can start on any day of the week. And months have a varying number of total days, 28, 29, 30, or 31. Given this data, you can display the days and weeks of any month when given only a specific date and the day of the week upon which it falls.
Continue reading
Author Archives: dgookin
The Ins and Outs of fgets()
With the demise of the gets() function, fgets() remains the top C language text-input function. Whether reading from a file or from standard input, the function is quite useful, but it’s not without some quirks.
Continue reading
Dealing with Structures, Pointers, and Files
For pointer structures, the process of writing the structure to a file works similarly to writing a non-pointer structure, but it’s not without some pratfalls. Further, if you have a structure that contains a pointer, things get hinkey quickly.
Continue reading
Reading and Writing Structures to a File
You need not read all structures from a file when you know the exact one you want. To fetch that record, you use the fseek() function. This function manipulates the file position indicator, allowing for random access to a file’s data.
Continue reading
Random File Access
Sequential file access works like a tape recorder — if you remember using one. Data is read from byte 0 through the last byte in the file, one after the other. Random file access can be sequential, but you can also hop around within the file, reading a chunk here, writing a chunk there. The secret has to do with the how the file position indicator is manipulated.
Continue reading
Counting in Alphabedecimal – Solution
Yes, it’s possible to code a program that counts in alphabedecimal from AAAA to ZZZZ without using nested loops. You must use a single loop, of course, but no cheating as shown in the original Exercise post.
Continue reading
Reading and Writing Raw Data
From your early C language training, you should know the difference between 1088 as a string and 1088 as an integer. They may look the same to human eyes, but inside the computer they’re completely different.
Continue reading
Counting in Alphabedecimal
In C, you can easily count from 000 to 999 (decimal), from 000 to 777 (octal), and from 000 to FFF (hexadecimal). These examples are in bases 10, 8, and 16, respectively. When it comes to counting from AAAA to ZZZZ, however, you must code your own routine.
Continue reading
Reading and Writing Values
Writing a value to a file and reading it from a file work exactly like reading and writing values from standard input and output. File-based versions of standard I/O functions are used, so the process should be familiar to you. Still, there’s an interesting catch.
Continue reading
Working with Text Files Longer than a Single Line
Unless your program also created the file it’s reading, you have no guarantee how must text lurks inside. It could be a single character or the entire works of Shakespeare. Dealing with an unknown quantity of text it a file-reading challenge.
Continue reading