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