用fgets 一行行讀入,讀到EOF結束。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站設計制作、成都網(wǎng)站建設、齊齊哈爾網(wǎng)絡推廣、小程序定制開發(fā)、齊齊哈爾網(wǎng)絡營銷、齊齊哈爾企業(yè)策劃、齊齊哈爾品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供齊齊哈爾建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
每讀一行用 下面函數(shù)找到address 后面方括號 i1,i2 位置
void f1(char *str, int *i1, int *i2){
int i,j=0,L;
L = strlen(str);
if (L 8) { printf("no address line\n"); *i1=0; *i2=0;};
for (i=0;iL;i++){
if ( strncmp(str+i,"address",7)==0) {j=i+7; break;};
}
for (i=j;iL;i++){
if (str[i]=='[') *i1=i;
if (str[i]==']') { *i2=i; break;}
}
}
從這行字符串中取出地址 str[i1+1] 到 str[i2-1], 寫入文件。
調用例子:
main()
{
char str[400]=".......address..[123 bay street Apt. 5] abcdb ssks 567 ";
char add[80];
int i,j,i1,i2;
f1(str[0],i1,i2);
printf("%d %d",i1,i2);
for (i=i1+1;ii2;i++) { j=i-i1-1; add[j]=str[i];};
add[j+1]='\0';
printf("%s ",add);
return 0;
}
1. 絕對宏:
在程序中,用“#includeabsacc.h”即可使用其中定義的宏來訪問絕對地址,包括CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD
具體使用可看一看absacc.h便知,例如:
rval=CBYTE[0x0002];指向程序存貯器的0002h地址
rval=XWORD[0x0002];指向外RAM的0002h地址
2. _at_關鍵字
直接在數(shù)據(jù)定義后加上_at_ const即可,但是注意:
(1)絕對變量不能被初使化;
(2)bit型函數(shù)及變量不能用_at_指定。
例如:
idata struct link list _at_ 0x40;指定list結構從40h開始。
xdata char text[25b] _at_0xE000;指定text數(shù)組從0E000H開始
提示:如果外部絕對變量是I/O端口等可自行變化數(shù)據(jù),需要使用volatile關鍵字進行描述,請參考absacc.h。
直接用
(char*)(0x000)
補充一下,不同類型的變量占的存儲單元(字節(jié))是不同的,char*只是該字節(jié)的值,而int*則是該字節(jié)和后面3個字節(jié)(總共4個字節(jié))的值,你要確定到底一次讀多少字節(jié),選擇合適類型的指針。