ECE 264 Exam 3 Open Book
Read Write fopen
Text fgetc fprintf "r", "w"
fgets fputc "rb", "wb"
binary fread
size_t fread(void *p, size_t size, size_tn, FILE * f);
size_t fwrite(
int count = fread(&w, sizeof(int), 1, f);
count += fread(&h,...,1,f)
if(count ==2)
{
::void fclose(FILE *f)
- int feof(FILE *f)
dynamic structures?
struct Blokus
{
:int clirn,
:char* data;
}
typedef struct IntValue {
:int value;
:struct IntValue *next;
} IntValue;
IntValue *IntValue_create(int value)
{
:IntValue *iv = malloc(sizeof(IntValue));
:iv->value = value;
:iv->next = NULL;
:return iv;
}
void IntValue_destroy(IntValue *iv)
{
:free(iv);
}
IntValue *IntValueL_insertFront(IntValue *head, IntValue *node)
{
:node->next = head;
:return node;
}
void IntValueL_print(IntValue *head)
{
:whle (head!= NULL) {
:printf(" %d", head->value);
:head = head->next;
}
printf("\n");
}
int IntValueL_getCount(IntValue *head)
{
:int count = 0;
:while (head !=NULL){
:count++;
;head = head->next;
}
:return count;
}
//put at back of list
IntValue *IntValueL_insertBack(IntValue *head, IntValue *node)
{
:if(head ==NULL) {
::node-> next = NULL;
::return node;
}
:IntValue *curr = head;
:while (curr ->next != NULL)
:{
::curr = curr->next;
:}
:curr->next = node;
:node -> next = NULL;
:}
Reverse algorithm!
- IntValue *new_head = NULL;
:while(head !=NULL){
::IntValue *tmp = head;
::head = head->next;
::new_head = IntValueL_insertFront(new_head,tmp);
:}
:return new_head;
}
Find and delete?
int IntValueL_find(IntValue *head, int value)
{
//look for integery with value == to parameter being passed in
:while( head!=NULL)
:{
::if(head -> value ==value) {
:::return head;
::}
::head = head-> next;
:}
:return NULL;
}
void IntValueL_delete
Master Struct
struct IntList
int main(int argc, char **argv)
{
IntValue *head=NuLL;
head = IntValueL_insertFront(head, IntValue_create(42));
head = IntValueL_insertFront(head, IntValue_create(64));
head = IntValueL_insertFront(head, IntValue_create(128));
head = IntValueL_insertFront(head, IntValue_create(11));
//looking for and find and print
printf("Value %d is at point %p\n"
}