📄 fileio.c
字号:
/**
*** Copyright (c) 2001 Equator Technologies, Inc.
**/
#include <stdio.h>
#include <eti/types.h>
/* Make testfile on a local directory (e.g. /usr/tmp) to increase speed */
#define TESTFILE "testfile.bin"
#define WIDTH (8*1024)
#define HEIGHT (1)
#define ALIGN 8
#define RESTRICT restrict
int main() {
unsigned int i;
unsigned char * RESTRICT ptr, * RESTRICT ptr_orig;
unsigned char * RESTRICT ptr2, * RESTRICT ptr2_orig;
unsigned long width=WIDTH, height = HEIGHT;
unsigned long size = WIDTH*HEIGHT;
FILE *fp;
int result;
printf("hello world. MAP CPU id = 0x%x\n", hmpv_read_cpuid());
ptr = (unsigned char *)malloc(size + ALIGN);
if (ptr == NULL) {
printf("malloc() for ptr failed.\n");
exit(1);
}
ptr_orig = ptr;
#if ALIGN
ptr = (unsigned char *)(((unsigned long)ptr_orig + (ALIGN-1)) & ~(ALIGN-1));
#endif
ptr2 = (unsigned char *)malloc(size + ALIGN);
if (ptr2 == NULL) {
printf("malloc() for ptr2 failed.\n");
exit(1);
}
ptr2_orig = ptr2;
#if ALIGN
ptr2 =(unsigned char *)(((unsigned long)ptr2_orig + (ALIGN-1)) & ~(ALIGN-1));
#endif
/* Initialize 'write' data to some known value */
{
unsigned long * RESTRICT lp = (unsigned long *)ptr;
unsigned long * RESTRICT lp2 = (unsigned long *)ptr2;
for(i=0; i<size/4; i++) {
lp[i] = (unsigned long)(i % 0x81);
lp2[i] = ~0x0;
}
}
/* Write file */
fp = fopen(TESTFILE, "wb");
if (fp == NULL) {
printf("fopen() [write] failed\n");
exit(1);
}
result = fwrite(ptr, width, height, fp);
if (result != height) {
printf("fwrite() failed.\n");
exit(1);
}
result = fclose(fp);
if (result == EOF) {
printf("fclose() [write] failed.\n");
exit(1);
}
/* Read back */
fp = fopen(TESTFILE, "rb");
if (fp == NULL) {
printf("fopen() [read] failed.\n");
exit(1);
}
result = fread(ptr2, width, height, fp);
if (result != height) {
printf("fread() failed.\n");
exit(1);
}
result = fclose(fp);
if (result == EOF) {
printf("fclose() [read] failed.\n");
exit(1);
}
/* Compare */
if (memcmp(ptr, ptr2, size) == 0)
printf("Compare was successful.\n");
else
printf("Compare failed. read data different that write data.\n");
printf("goodbye world.\n");
/* Cleanup */
free(ptr_orig);
free(ptr2_orig);
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -