溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用c語(yǔ)言項(xiàng)目怎么編寫一個(gè)整蠱小程序

發(fā)布時(shí)間:2021-02-04 18:19:17 來(lái)源:億速云 閱讀:398 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)使用c語(yǔ)言項(xiàng)目怎么編寫一個(gè)整蠱小程序,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1.dos命令(強(qiáng)制關(guān)機(jī))

shutdown -s -t 60 -c -f

各參數(shù)的意思:

-s 動(dòng)作為關(guān)機(jī)

-r 為重啟

-a 為取消關(guān)機(jī)

-t 60 延遲60秒關(guān)機(jī)

-c “想要顯示的注釋”

-f 關(guān)機(jī)時(shí)強(qiáng)制關(guān)閉所有程序而不顯示任何警告。

標(biāo)準(zhǔn)格式:(shutdown -s -t xx)

t xx是關(guān)機(jī)延時(shí)時(shí)間 /秒;xx可以是00,直接關(guān)機(jī)。

注意:可能輸入命令后,windows提示n分鐘后關(guān)機(jī),但關(guān)機(jī)時(shí)間仍然是設(shè)定的時(shí)間。

2.源碼

注意的是,想使用cmd命令,需要調(diào)用庫(kù)函數(shù)<stdlib.h>

話不多說(shuō),直接源碼

#include<stdio.h>
#include<stdlib.h> 
#include<string.h>

int main(void)
{
	char b[10]="我是豬",c[10]="你是豬",a[10]; 
	system("shutdown -s -t 60");		//命令關(guān)機(jī)
	do{									//判斷輸入的是否為指定的語(yǔ)句
		printf("如果不想關(guān)機(jī),請(qǐng)(只能輸入這兩句話)輸入我是豬 or 你是豬 只給你一分鐘時(shí)間哦\n");
		scanf("%s",&a);
		if(strcmp(a,b)==0){				//判斷輸入的語(yǔ)句
			system("shutdown -a");		//取消關(guān)機(jī)命令
			system("cls");				//清屏函數(shù)
			printf("哈哈哈,okok\n");
			system("pause");			//暫停函數(shù)
		}
		if(strcmp(a,c)==0){
			system("pause");
			printf("我懷疑你在罵我,那我只好給你關(guān)機(jī)了\n");
			system("shutdown -s -t 5");	//5s后關(guān)機(jī)
			printf("哈哈哈,拜拜\n");
			system("pause");
		}
	}while(strcmp(a,b)!=0&&strcmp(a,c)!=0);
	return 0;
}

整蠱朋友前一定提醒他保存當(dāng)前文件哦。

二、無(wú)限彈窗

效果:運(yùn)行程序后會(huì)出現(xiàn)無(wú)限彈窗,無(wú)法關(guān)閉(其實(shí)通過(guò)任務(wù)管理器還是可以關(guān)閉的)。

本程序基于vbs,其功能是通過(guò)vbs語(yǔ)句來(lái)實(shí)現(xiàn)。

那么就先講一下所用到的vbs語(yǔ)句吧

1.vbs

VBS是基于Visual Basic的腳本語(yǔ)言。VBS的全稱是:Microsoft Visual Basic Script Edition。(微軟公司可視化BASIC腳本版)。

其語(yǔ)言類似Visual Basic(VB)。

1.我們用到的無(wú)限彈窗首先需要一個(gè)輸出到屏幕上的語(yǔ)句:

msgbox"xxx"

這條語(yǔ)句是輸出到屏幕的意思

2.其次是一個(gè)循環(huán),讓窗口無(wú)限循環(huán),這類似于do while(1)

do
(其他語(yǔ)句)
loop

整體代碼如下(示例):

do
msgbox"hello"
loop

2.創(chuàng)建text.vbs,并打開

vbs是基于文檔寫的,所以此時(shí)應(yīng)該控制創(chuàng)建一個(gè).vbs文檔,并打開它

fopen函數(shù)的各參數(shù)

r 打開一個(gè)已有的文本文件,允許讀取文件。

w 打開一個(gè)文本文件,允許寫入文件。如果文件不存在,則會(huì)創(chuàng)建一個(gè)新文件。在這里,您的程序會(huì)從文件的開頭寫入內(nèi)容。

如果文件存在,則該會(huì)被截?cái)酁榱汩L(zhǎng)度,重新寫入。

a 打開一個(gè)文本文件,以追加模式寫入文件。如果文件不存在,則會(huì)創(chuàng)建一個(gè)新文件。在這里,您的程序會(huì)在已有的文件內(nèi)容中追加內(nèi)容。

r+ 打開一個(gè)文本文件,允許讀寫文件。

w+ 打開一個(gè)文本文件,允許讀寫文件。如果文件已存在,則文件會(huì)被截?cái)酁榱汩L(zhǎng)度,如果文件不存在,則會(huì)創(chuàng)建一個(gè)新文件。

a+ 打開一個(gè)文本文件,允許讀寫文件。如果文件不存在,則會(huì)創(chuàng)建一個(gè)新文件。讀取會(huì)從文件的開頭開始,寫入則只能是追加模式。

如果處理的是二進(jìn)制文件,則需使用下面的訪問(wèn)模式來(lái)取代上面的訪問(wèn)模式:“rb”, “wb”, “ab”, “rb+”, “r+b”, “wb+”, “w+b”, “ab+”, “a+b”

'b'表示二進(jìn)制

關(guān)閉文件可以使用 fclose( ) 函數(shù)

FILE *pf = fopen(D:/text.vbs, "w+"); // 以寫、創(chuàng)建形式打開文件
 if (!pf)
  return -1;			//判斷是否可以打開
  
 fputs(b, D:/text.vbs); // 向文件寫入字符串 
 fputc(10,D:/text.vbs);

 fclose(D:/text.vbs); // 關(guān)閉文件
 printf("準(zhǔn)備打開文件");
 system(D:/text.vbs);	//cmd命令打開文件

2.想要通過(guò)程序指定創(chuàng)建位置怎么辦?

很多人想要自己輸入一個(gè)地址 ,好說(shuō),我在這里給出的方法是用字符串以及連接函數(shù)strcat()

但注意地址中最好不要出現(xiàn)空格

當(dāng)然,如果一定要空格的話,也可以:

1)最簡(jiǎn)單的方法就是給路徑名上加上“” 然后cd或執(zhí)行即可;

2)用縮寫。比如c:\Program Files縮寫為c:\Progra~1

在我的其他博文中說(shuō)明了這個(gè)問(wèn)題,想知道具體的可以去翻一下哦

	char c[20],b[100],a[20]="""D:/",d[5]=".",e[10],f[10]=""""; 
					/*注意:""代表一個(gè)";//代表一個(gè)/*/
	printf("請(qǐng)輸入標(biāo)題");		
	scanf("%s",&c);
	printf("請(qǐng)輸入格式");
	scanf("%s",&e);
	
	strcat(a,c);
	strcat(a,d);
	strcat(a,e);
	strcat(a,f);		//將所有字符串連接起來(lái)
	
	#define file a		//宏定義

3.源碼

為了可以減少以后麻煩,我將寫入環(huán)節(jié)改為了循環(huán)(即可以隨意輸入內(nèi)容,以“ . ” 作為結(jié)束標(biāo)志);

同時(shí)后綴名也進(jìn)行了隨意輸入,不局限于.vbs。增強(qiáng)了程序的實(shí)用性。

上源碼

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char c[20],b[100],a[20]="""D:/",d[5]=".",e[10],f[10]=""""; 
	printf("請(qǐng)輸入標(biāo)題");
	scanf("%s",&c);
	printf("請(qǐng)輸入格式");
	scanf("%s",&e);
	
	strcat(a,c);
	strcat(a,d);
	strcat(a,e);
	strcat(a,f);
	
#define file a
  FILE *pf = fopen(file, "w+"); // 以寫、創(chuàng)建形式打開文件
  if (!pf)
    return -1;		//判斷是否可以打開
    
  printf("請(qǐng)輸入內(nèi)容 (如果停止輸入請(qǐng)按 “.”)");
  do{
    scanf("%s",&b);
    fputs(b, pf); // 向文件寫入字符串 
    fputc(10,pf);
	}while(b[0]!='.');

  fclose(pf); // 關(guān)閉文件
  printf("準(zhǔn)備打開文件");
  system(file);
  printf("ok");
  return 0;
}

看完上述內(nèi)容,你們對(duì)使用c語(yǔ)言項(xiàng)目怎么編寫一個(gè)整蠱小程序有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI