2010年10月24日 星期日

檔案大小

-----
[知道檔名]
struct stat statbuf;
int filesize;
stat("copyfile1.txt", &statbuf);
filesize=statbuf.st_size; // bytes
printf("File size=%d bytes\n", filesize);


-----
[FILE *]
long filesize;
fseek(fp, 0L, SEEK_END); //移動到相對END的0L位置 filesize=ftell(fp); //傳回相對開始位置的bytes數 fseek(fp, 0L, SEEK_SET); //移動到絕對位置0L的位置

----
[ps]
fopen(); // If failed, return NULL
open(); // If failed, return -1

2010年10月23日 星期六

無緩衝IO

#include /* Standard input/output definitions */
#include /* String function definitions */
#include /* UNIX standard function definitions */
#include /* File control definitions */
#include /* Error number definitions */
#include /* POSIX terminal control definitions */
#include


#define ENTER 10 /*ASCII code of LF in linux*/
#define MAX 10

int main(void) {
//int fd;
//fd = open("/dev/ttyS0", O_RDWR|O_NOCTTY|O_NDELAY);
int fp, fp2;
char str[MAX],ch;// buffer
int bytes=0;
fp=open("copyfile1.txt", O_RDWR);
fp2=open("output.txt", O_RDWR | O_CREAT, S_IREAD | S_IWRITE);//
if( (fp==-1) || (fp2==-1) )
{
printf("file cannot be opened, fp=%d, fp2=%d\n", fp, fp2);
return 1;
} else {
while( (bytes=read(fp, str, MAX))>0){
write(fp2, str, bytes);//
}
}
close(fp2);//
close(fp);
printf("Copying finish...\n");
return 0;
}

2010年10月10日 星期日

Android App basic structure 基本架構

[Application Name]
├--src/
│ └--com/demo/android/OOO //這串路徑為package name
│ └OOO.java // [create Activity Name] 重要程式碼
├--gen/
│ └--com/demo/android/OOO //這串路徑為package name
│ └R.java // 自動產生的類別 各樣資源的字典
├--res/
│ ├--layout/ //XML檔案
│ ├--values/ //XML檔案
│ ├--drawable/ //圖片檔
└--AndroidManifest.xml //用到的函式庫 Service Activity