linux(fedora)遇坑笔记..継続更新..

1499 ワード

fedora 18下のは19あるけど...アップグレードするのがおっくう...
记录したのはすべて出会ったいくつかの小さい问题です..出会ったら覚えてきてゆっくりと积み重ねました
 
1.yum install gcc失敗
  ネット上にはいろいろな解決策があります.私が使ってはいけません.gnomeインタフェースの下でグラフィック化されたソフトウェア管理ツールでインストールすることに成功しました(̄_̄|||)
 
2.manコンテンツ欠落
man 2 openなどの操作を行うプロンプトが見つかりません
yum install man-pagesでいいです
 
3.ライブラリ関数freadの戻り
size_t fread(void* ptr,size_t size,size_t n,FILE *stream)
manではブロック数を返しているのでブロックのsizeが1のときだけ実バイトを返していることがよくわかります
実際に使用するには、最後に読み込まれたデータが1つのブロックのサイズに満たない場合、返されるブロック数*ブロックのサイズで実際のバイトを取得することはできません. データは格納されますがブロック数は+1になりません)
例を挙げる
itemサイズが2048 Bに設定されています.22 B(ブロックサイズ以下でもかまいません)を読むと、返されるブロック数は0になります. 
ブロック数とブロックサイズを説明する例もあります.
#include <stdio.h>

#define SIZE 1024
int main(void)
{
//     2KB   2048  
FILE * file=fopen("temp_","r+");
char * buf[SIZE*2];

int item_count=fread(buf,2,SIZE/2,file); //          1024    2*(1024/2)
printf("count:%d
",item_count); //item 512 item 2 512( 1024 ) item_count=fread(buf,1,SIZE,file); // 1024 1*1024 printf("count:%d
",item_count); //item 1024 item 1 1024( 1024 ) item_count=fread(buf,1,SIZE,file); printf("count:%d
",item_count); // 0 printf("eof?%s
",feof(file)==0?"false":"true"); fclose(file); return 0; }