C標準并沒有提供在屏幕上定位光標的方法,其原因很多。C被設計成能在各種各樣的計算機上工作,而其中的許多機型都有不同的屏幕類型。例如,在行式打印終端上,不能向上移動光標;一個嵌入式系統(tǒng)甚至也可能是用c編寫的,而在它的應用場合可能根本就沒有屏幕。 盡管這樣,在屏幕上定位光標對你的程序來說還是有用的。你可能希望給用戶一個吸引人的視覺效果,并且只能通過移動光標來實現(xiàn);你還可能想用相應的輸出命令嘗試一點動畫效果。盡管這方面沒有標準的處理方法,但還是有好幾種方法可以解決這個問題。 首先,編譯程序的開發(fā)者會提供一個函數(shù)庫,專門處理基于他們的編譯程序的屏幕輸出操作,其中肯定會有定位光標的函數(shù)。但是,很多人認為這是最差的解決辦法,因為每一個開發(fā)商都可以自由地開發(fā)自己的實現(xiàn)方法,所以在一種編譯程序上開發(fā)的程序,當移到另一種編譯程序上時,幾乎必然要重寫,更別說移到另一種計算機上了。 其次,可以定義一套標準的庫函數(shù),并使編譯程序的開發(fā)者在他的編譯程序中實現(xiàn)這套函數(shù)。流行的Curses軟件包就起源于這種思路。在大多數(shù)計算機和編譯程序中都可以使用Curses,因此,用Curses實現(xiàn)屏幕輸出的程序在大多數(shù)計算機和編譯程序中都可以工作。 第三,你可以利用這樣一個事實,即你想打印到其上的設備會用一種特定的方式解釋你送過去的字符。終端(或屏幕)應設計成按一種標準方式去解釋送給它們的字符,這就是ANSI標準。
專注于為中小企業(yè)提供網(wǎng)站設計、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)邢臺縣免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
c語言的文件定位是fseek函數(shù)fseek(文件指針,位偏移,起始點);起始點c提供了文件開始
文件當前位置
文件末尾三個值分別對應0
1
2,位偏移是只偏移多少個字節(jié)而不是幾行c語言貌似不支持以行的形式移動指針
例:fseek(fp,100L,0);將位置指針移到離文件頭100個字節(jié)處
如果第二個參數(shù)是負數(shù)的就是后退多少字節(jié)
c語言find函數(shù)的用法詳解
C語言之find()函數(shù)
find函數(shù)用于查找數(shù)組中的某一個指定元素的位置。
比如:有一個數(shù)組[0, 0, 5, 4, 4];
問:元素5的在什么位置,find函數(shù) 返回值 為 2;
find (數(shù)組名 + 起始查找元素的位置, 數(shù)組名 + 結束查找的元素位置, 想要查找的元素)
直接上代碼:
#include iostream
#include vector
#include algorithm//注意要包含該頭文件
using namespace std;
int main()
{
int nums[] = { 3, 1, 4, 1, 5, 9 };
int num_to_find = 5;
int start = 0;
int end = 5;
int* result = find( nums + start, nums + end, num_to_find );
if( result == nums + end )
{
cout "Did not find any number matching " num_to_find endl;
}
else
{
cout "Found a matching number: " *result endl;
}
return 0;
}
C語言文件定位,主要依靠fseek函數(shù)實現(xiàn),具體代碼如下,
#include stdio.h
int main(int argc, char *argv[])
{
FILE *fp=NULL;
long len=0L;//文件長度
fp=fopen("test.dat","rb");//假設當前目錄有test.dat文件
if(!fp)//檢查文件打開是否正常
{
printf("文件打開失敗,程序退出!\n");
exit(1);
}
fseek(fp,0L,SEEK_END);//文件定位到文件末尾
len=ftell(fp);//獲取文件長度
if(len/10240)
printf("文件大小為%ldKB!\n",len/1024);
else
printf("文件大小為%ldB!\n",len);
rewind(fp);//文件指針移到開始處
if(fp)//關閉文件
{
fclose(fp);
fp=NULL;
}
return 0;
}
int fseek( FILE *stream, long offset, int origin );函數(shù)fseek()為文件指針stream設置位置數(shù)據(jù)。origin的值應該是下列值之一,
SEEK_SET(從文件的開始處開始搜索)
SEEK_CUR(從當前位置開始搜索)
SEEK_END(從文件的結束處開始搜索)
fseek()成功時返回0,失敗時返回非零。