本文目錄一覽:
C語言「窗口滑動」代碼中的疑問?
這個是在命令行中模擬圖形界面的操作?
n表示你設定的窗口大小, 也就是每行的字元數.
r表示送入和刪除字元後, 當前所在的窗口位置.
C語言如何滑動讀取數據
如果格式一樣的話用fscanf最簡單、 偽代碼: int dummy; fscanf(fp, “class %d age %d %d %d %d”, dummy, dummy, dummy, dummy, dummy); 如果是其它,舉個例子: 例如 我的文件中一行里是 ABC DEF 10 20 並且每一行都是 %s %s %d %d的格式 如何…
如何用C語言製作一個可以在開始屏幕上滾動的字幕?
實現滾動字幕:
一、單行滾動,寫一個函數,每次調用讓全局或靜態字元數組向一個方向移位(比如左移,從最右邊一個非0字元開始遍歷,依次覆蓋左邊的一個字元,最左邊的字元被第二個字元覆蓋,最右邊一個非0位變移出的那個字元)。記得保留結束符號0。
二、之後循環列印字元數組。每次使用system(“cls”);清空控制台顯示。
三、多行滾動,同理,只不過把字元移動覆蓋,改成字元串移動覆蓋。(移動方向的後一行覆蓋前一行,把移動方向第一行內容賦值給最後一行)。
//ps:由於肉眼觀察,移動需要間隔,用Sleep函數,但該函數會讓線程停止,如滾屏間隔期間,還希望其它部分正常運行,需要寫線程。
下面是參考代碼:
#includestdio.h
#include windows.h
void sScreen(char str[],int len,int f);//len:內容長度,不包含結束符號。f=1向左移動。f=0向右移動;
int main()
{
char str[]=”I LOVE YOU”;
while(1)
{
printf(“%s\n”,str);
sScreen(str,10,0);
Sleep(1000);
system(“cls”);
}
return 0;
}
void sScreen(char str[],int len,int f)
{
int i;
char c;
if(f)
{
c=str[0];
for(i=0;ilen-1;i++)
str[i]=str[i+1];
str[len-1]=c;
}
if(!f)
{
c=str[len-1];
for(i=len-1;i0;i–)
str[i]=str[i-1];
str[0]=c;
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159862.html