小白學前端03

上午的小插曲試着把昨天的那個c語言問題解一下:javascript

 1 #include<stdio.h>
 2 void writeToFile(int variable);
 3 void showVariableResult(void);
 4 int main(){
 5   int i=0;
 6   for(;i<100;i++){
 7     i=i*2;
 8     writeToFile(i);
 9   }
10   showVariableResult();
11   return 0;
12 }
13 
14 //只對數值產生做用,要對其餘,修改形參和fprintf裏面的格式便可
15 void writeToFile(int variable){
16   FILE *input = fopen("E:\\Beginning_JavaScript\\cSimple\\1.txt","a+");
17   if(input== NULL) {return ;}
18   fprintf(input, ">>>%d\n",variable);
19   fclose(input);
20 }
21 void showVariableResult(){
22    char ch;
23     FILE *output;
24     output = fopen( "E:\\Beginning_JavaScript\\cSimple\\1.txt", "r" );
25     ch = getc(output);
26     while( ch != EOF ) {
27       printf( "%c", ch );
28       ch = getc(output);
29     }
30     fclose(output);
31 }

/*
目前以上的是沒有問題的,但有一些疑問:c語言整形數據怎麼讀取進文件,以及把整形數據讀進文件後,怎麼讀出來?
目前的解決方法:是讀入用fprintf指定%d寫入,讀出用char讀出,發現這樣是可行的!

網上的一些回答:
c語言將整形數據存取到文件主要採用兩種方法:1.二進制讀取,2.字符方式讀取:
1.fwrite()和fread()
eg:int num=12345; FILE *fp=fopen("datafile","wb"); fwrite(&num,sizeof(int),1,fp);
...
FILE *fp = fopen("datafile","rb"); fread(&num,sizeof(int),1,fp);

2.fprintf和fscanf()
eg: int num=0; FILE *fp = fopen("datafile","w"); fprintf(fp,"%d\n",num);
...
FILE *fp= fopen("datafile","r"); fscanf(fp,"%d",&num);

但不推薦字符方式的緣由就是效率過低
*/

/*
因爲此次輸入文件不只僅只是數據,還加了一些修飾符,故仍是用fprintf更方便一點吧..
*/css

 

 不過真試着來,發現其實就是個打印函數的問題,很簡單的實現,先passhtml

 

進入正文:(因爲此次是白天一邊實驗一邊記錄的,故基本沒改就直接粘貼過來了...)

/*
因爲想到javascript能用node.js進行後端開發,也就是以上的程序確定也能用js寫出來的啊
以前裝csslint和jshint時用過nodejs裏的npm安裝,故大概知道一下:
首先進命令行:敲node -v便可看到版本號也即嚴重是否正確安裝了(不須要再手動加入到PATH變量裏面,方便了不少),
接着直接敲node便可進入nodejs的命令行界面直接輸js便可,退出按ctrl+c便可
後來一想以前都在sublime text3上安裝了gcc,nodejs確定會有嘛:
在安裝好了nodejs以後,一樣點tools->Bulid System->new bulid system 輸入
{
  "shell_cmd": "node $file",
  "selector":"source.js"
}
便可,是從SegmentFault(也相似於stackoverflow的問答網站)上看來的,故提一下,
值得注意的一點是:在Tools不要再去設置bulid sysytem->node,直接按automatic默認的就好,這樣就能夠按ctrl+shift+b來選擇相應的編譯器了,
在例如我這樣既裝了node又裝了gcc的狀況下,若不選自動的話,會出現一不當心用node編譯了c文件的狀況
*/

/*
截圖問題:
一開始用截屏鍵+畫圖來截,後來用ps的切片工具,但是ps沒發現能截屏後複製圖片來修改的功能,並且對這種狀況切出來的效果不好
無心中火狐按F12查看html時發現有一個節點截圖選項正好能實現想截網頁上某個按鈕或圖片的功能
*/

/*
CSS MASTERY裏面的清除浮動的三種方法:
1.添加空元素 <br class="clear"> 或div
2.利用元素的overflow:hidden/auto屬性自動清理
3.並不直接向標記中添加進行清理的元素,而是將它動態的添加到頁面,
結合僞類和內容聲明在指定的現有內容的末尾添加新的內容,例如一個點:
指定進行清理的元素出如今哪裏就添加一個clear類名便可(類名之間只須要用空格隔開便可):
.clear:after{
  content: ".";
  height: 0;
  visibility: hidden;
  display: block;
  clear: both;
}
*/

/*
屬性學習:
background-clip: border-box|padding-box|content-box;
可將背景顏色限制在邊框盒/內邊距盒/內容盒裏面

top/left:分別設置定位元素的上外邊距邊界與其包含塊上邊界之間的偏移;
定位元素左外邊距邊界與其包含塊左邊界之間的偏移
可用來實現頂格;可是這是對定位元素而言,若未設position則爲默認static,此時無效
*/

/*
定位回顧(主要css mastery):
相對定位/絕對定位/固定定位(relative/absolute/fixed):
相對定位是「相對於」元素在文檔流中的初始位置
絕對定位是「相對於」距離它最近的已定位的祖先元素,若是不存在已定位的祖先元素,那麼相對於初始包含塊
固定定位是絕對定位的一種,差別在於固定元素的包含塊是視口(w3cschool上即直接說明是相對於瀏覽器窗口定位)
*/


/*
爲何不可以總體平移呢?

1.特地在header元素和它包裹的元素之間加了一個<div class = "header-inner">,而後準備用它來padding-left:80px;這樣不就更好嗎?
結果不行...當在header裏面用padding-left時又是能夠的!

2.一樣爲何nav包裹了三個a元素,對nav實現padding-left仍是不能實現?

*/

/*
一直的誤區:
覺得display:inline是用在父元素上,而後它的全部子元素就會所有排列成一行
而後才從w3cschool的一個例子裏面醒悟了過來
p{display: inline}  <p>本例中的樣式表把段落元素設置爲內聯元素。</p>

display:inline是給指定的元素用的,使用的元素會變成內聯元素
其實就至關於display:block的反義詞同樣啊!
*/

/*
怎麼解決導航列表裏面給a設置邊框border-width:0em .1em;時會出如今中間的a元素會重疊邊框的現象?

javascriptDOM編程藝術裏面的方法是:
先#navigation{ border-bottom-width: 0;border-top-width: 0;}確保上下邊框寬度爲0
再#navigation ul{border-left-width: .1em;border-left-style: solid;}確保左邊框
最後#navigation li a {border-right: .1em solid;}確保右邊框
*/

/*
感悟:
1.其實不管是剛剛入門看的head first html,看似本身雄心勃勃的一天就全看完,實則太多東西是你本身根本沒理解的
否則也不會作個導航欄到如今都作不出,就連基本的列表怎麼變成橫塊狀,設置元素的padding怎麼就是不生效?這些問題都半知不解

2.一個個小部件來作,一個個弄懂,一個個去追問,沒有什麼很差意思的,技不如人,就更要老老實實啊
*/java

相關文章
相關標籤/搜索