c語言實現整蠱朋友小程序(附源碼)

前言

感覺學瞭c語言後仍然一無是處?!!想要整蠱一下朋友仍然不會?!!

別慌,看完這篇文章,你就會瞭。

下面給大傢分享兩個基礎的整蠱小程序

1.我是豬關機程序

2.無限彈窗程序

一、我是豬關機程序

效果:運行程序後電腦在60s後關機,如果輸入“我是豬”則取消關機;如果輸入“你是豬”則立即關機;輸入其他文字會提示重新輸入;若強行關閉程序電腦仍會關機。

本程序基於控制臺,其功能是通過dos命令來實現。

那麼就先講一下所用到的dos命令(shutdown -s -t 60

1.dos命令(強制關機)

shutdown -s -t 60 -c -f

各參數的意思:

-s 動作為關機

-r 為重啟

-a 為取消關機

-t 60 延遲60秒關機

-c “想要顯示的註釋”

-f 關機時強制關閉所有程序而不顯示任何警告。

標準格式:(shutdown -s -t xx)

t xx是關機延時時間 /秒;xx可以是00,直接關機。

註意:可能輸入命令後,windows提示n分鐘後關機,但關機時間仍然是設定的時間。

2.源碼

註意的是,想使用cmd命令,需要調用庫函數<stdlib.h>

話不多說,直接源碼

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

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

整蠱朋友前一定提醒他保存當前文件哦。

二、無限彈窗

效果:運行程序後會出現無限彈窗,無法關閉(其實通過任務管理器還是可以關閉的)。

本程序基於vbs,其功能是通過vbs語句來實現。

那麼就先講一下所用到的vbs語句吧

1.vbs

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

其語言類似Visual Basic(VB)。

1.我們用到的無限彈窗首先需要一個輸出到屏幕上的語句:

msgbox”xxx”

這條語句是輸出到屏幕的意思

2.其次是一個循環,讓窗口無限循環,這類似於do while(1)

do
(其他語句)
loop

整體代碼如下(示例):

do
msgbox"hello"
loop

2.創建text.vbs,並打開

vbs是基於文檔寫的,所以此時應該控制創建一個.vbs文檔,並打開它

fopen函數的各參數

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

w 打開一個文本文件,允許寫入文件。如果文件不存在,則會創建一個新文件。在這裡,您的程序會從文件的開頭寫入內容。

如果文件存在,則該會被截斷為零長度,重新寫入。

a 打開一個文本文件,以追加模式寫入文件。如果文件不存在,則會創建一個新文件。在這裡,您的程序會在已有的文件內容中追加內容。

r+ 打開一個文本文件,允許讀寫文件。

w+ 打開一個文本文件,允許讀寫文件。如果文件已存在,則文件會被截斷為零長度,如果文件不存在,則會創建一個新文件。

a+ 打開一個文本文件,允許讀寫文件。如果文件不存在,則會創建一個新文件。讀取會從文件的開頭開始,寫入則隻能是追加模式。

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

‘b’表示二進制

關閉文件可以使用 fclose( ) 函數

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

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

2.想要通過程序指定創建位置怎麼辦?

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

但註意地址中最好不要出現空格

當然,如果一定要空格的話,也可以:

1)最簡單的方法就是給路徑名上加上“” 然後cd或執行即可;

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

在我的其他博文中說明瞭這個問題,想知道具體的可以去翻一下哦

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

3.源碼

為瞭可以減少以後麻煩,我將寫入環節改為瞭循環(即可以隨意輸入內容,以“ . ” 作為結束標志);

同時後綴名也進行瞭隨意輸入,不局限於.vbs。增強瞭程序的實用性。

上源碼

#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("請輸入標題");
	scanf("%s",&c);
	printf("請輸入格式");
	scanf("%s",&e);
	
	strcat(a,c);
	strcat(a,d);
	strcat(a,e);
	strcat(a,f);
	
#define file a
  FILE *pf = fopen(file, "w+"); // 以寫、創建形式打開文件
  if (!pf)
    return -1;		//判斷是否可以打開
    
  printf("請輸入內容 (如果停止輸入請按 “.”)");
  do{
    scanf("%s",&b);
    fputs(b, pf); // 向文件寫入字符串 
    fputc(10,pf);
	}while(b[0]!='.');

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

總結

以上就是今天要講的內容,你學廢瞭嘛?!

當然,整蠱要適當,本文僅用於學習,謝謝。

到此這篇關於c語言實現整蠱朋友小程序的文章就介紹到這瞭,更多相關c語言整蠱小程序內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!