適当に作ったC言語の関数を貼っていくスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/04/17(火) 12:41:52{
while(1)
{
if(kbhit()==1)
{
if(getch()==0x0d)
{
break;
}
}
printf("ぬるぽ\n");
}
printf("ガッ\n");
return;
}
0002デフォルトの名無しさん
2007/04/17(火) 12:54:290003デフォルトの名無しさん
2007/04/17(火) 13:07:28return main();
}
0004デフォルトの名無しさん
2007/04/17(火) 13:09:270005デフォルトの名無しさん
2007/04/17(火) 13:21:57bool NuRuPo(void)
{
return (Ga);
}
0006デフォルトの名無しさん
2007/04/17(火) 16:58:40#include <string.h>
char *strdup(const char *p)
{
size_t s = strlen(p) + 1;
char *q = malloc(s);
if (q)
memcpy(q, p, s);
return q;
}
0007デフォルトの名無しさん
2007/04/17(火) 18:48:26{
printf("\(^o^)/オワタ\n");
exit(1);
}
0008デフォルトの名無しさん
2007/04/21(土) 17:51:22int main( int argc, char **argv )
{
while( --argc )
putchar( *++argv[0] );
return 0;
}
0009デフォルトの名無しさん
2007/04/21(土) 18:09:28#include <stdio.h>
int main( int argc, char *argv[] )
{
  while( --argc )
    putchar( (*++argv)[0] );
  return 0;
}
0010デフォルトの名無しさん
2007/04/21(土) 19:01:38#include <string.h>
int fputs(const char *s, FILE *f)
{
size_t l = strlen(s);
fwrite(s, sizeof s[0], l, f) == l ? 0 : EOF;
}
0011デフォルトの名無しさん
2007/04/21(土) 19:02:240012デフォルトの名無しさん
2007/04/29(日) 02:02:45{
((void)(*)(void))0();
}
0013デフォルトの名無しさん
2007/04/29(日) 04:09:00{
((void (*)(void))0)();
}
0014デフォルトの名無しさん
2007/04/29(日) 17:30:17int ichi() { return 1; }
int one() { return ichi(); }
int eins() { return one(); }
int un() { return eins(); }
int uno() { return un(); }
int yi1() { return uno(); }
0015デフォルトの名無しさん
2007/06/04(月) 12:53:00{
return (x & -x) == x;
}
0016デフォルトの名無しさん
2007/06/04(月) 12:59:05{
int wait=128*256*1024;
_sleep(wait);
}
0017デフォルトの名無しさん
2007/10/19(金) 17:53:40{
__asm{
HALT
}
}
0018デフォルトの名無しさん
2007/10/22(月) 18:41:07{
return ( (flags & F_HOGE) || (flags & ~F_HOGE) );
}
0019デフォルトの名無しさん
2007/10/22(月) 22:15:25{
printf("\(^o^)/\n");
__asm volatile{
cli
hlt
}
}
0020デフォルトの名無しさん
2007/10/22(月) 22:42:12void main(void){}
0021デフォルトの名無しさん
2007/10/22(月) 22:46:59http://youtv.atspace.com/?2kn8az/JapKeyboardCrusherTV
0022デフォルトの名無しさん
2007/10/28(日) 13:53:31void fowata( FILE *fstrm )
{
fprintf( fstrm, "\(^o^)/オワタ\n" );
exit(1);
}
汎用性を考えてみました><
0023デフォルトの名無しさん
2007/10/28(日) 19:22:270024デフォルトの名無しさん
2007/10/29(月) 12:06:06何故それをmain()でやる?
>>22
汎用性を考えるなら、fstrmのチェックくらいしようよ。
>>23
コンパイラによっては消えてなくなるわけだね。
0025デフォルトの名無しさん
2007/10/30(火) 04:42:42while ( 1 ) {
fork();
}
}
0026デフォルトの名無しさん
2007/10/30(火) 22:16:05{
return main();
}
0027デフォルトの名無しさん
2007/10/30(火) 22:36:08{
printf("How many files(0-15)? ");
}
0028デフォルトの名無しさん
2007/11/09(金) 15:28:01fork爆弾
>>26
スタックオーバーフロー
>>27
入力できない
0029適当に作ったプログラム(前半)
2007/12/15(土) 20:38:42#include "Windows.h"
#define Sprintf sprintf
#pragma comment(lib, "shlwapi.lib")
char rootkey[256], printtokey[256]; // サブキー
char title[] = "Printto の検索と削除";
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
HKEY handle1, handle2;
int isNT = 0; // Windows 95, 98, ME
unsigned int Success = 0, Failure = 0, i, n;
char string[256];
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if(!CreateMutex(NULL, 1, "DelPrintto")) {
MessageBox(NULL, "ミューテックスオブジェクトの作成に失敗しました。", title, MB_ICONINFORMATION);
return 1;
}
if(GetLastError() == ERROR_ALREADY_EXISTS) {
MessageBox(NULL, "DelPrintto.exe は既に起動しております。", title, MB_ICONSTOP);
return 1;
}
0030適当に作ったプログラム(前半)
2007/12/15(土) 20:40:34// WindowsがNTシリーズか調べる (バージョンによって削除方法が異なる為)
osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if(GetVersionEx(&osv) == NULL) {
MessageBox(NULL, "中断エラー : バージョン情報の取得に失敗しました。", title, MB_ICONSTOP);
return 2;
}
switch(osv.dwPlatformId) {
case VER_PLATFORM_WIN32s: // Windows 3.1
MessageBox(NULL, "中断エラー : このバージョンには対応していません。", title, MB_ICONSTOP);
return 2;
case VER_PLATFORM_WIN32_NT: // Windows NT, XP, 2000
isNT = 1;
}
// 検索用のハンドルをオープンする
if(RegOpenKeyEx(HKEY_CLASSES_ROOT, NULL, NULL, KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS, &handle1) != ERROR_SUCCESS) {
MessageBox(NULL, "中断エラー : HKEY_CLASSES_ROOT キーのオープンに失敗しました。", title, MB_ICONSTOP);
return 2;
}
0031適当に作ったプログラム(後半)
2007/12/15(土) 20:41:49RegQueryInfoKey(handle1, NULL, NULL, NULL, &n, NULL, NULL, NULL, NULL, NULL, NULL, NULL); // キーの数を取得する
for(i = 0; i != n;) {
RegEnumKey(handle1, i++, rootkey, sizeof rootkey); // キーを検挙する
Sprintf(printtokey, "%s\\shell\\printto", rootkey);
if(RegOpenKeyEx(HKEY_CLASSES_ROOT, printtokey, NULL, KEY_SET_VALUE | KEY_ENUMERATE_SUB_KEYS, &handle2) == ERROR_SUCCESS) {
// 該当するキーが存在する場合は削除する
if(isNT) {
if(SHDeleteKey(handle2, "") == ERROR_SUCCESS) Success++; else Failure++;
}
else {
if(RegDeleteKey(handle2, "") == ERROR_SUCCESS) Success++; else Failure++;
}
// 削除用のハンドルを開放する
RegCloseKey(handle2);
}
}
// 検索用のハンドルを開放する
RegCloseKey(handle1);
// 削除結果を表示する
Sprintf(string, "削除成功 : %u\n削除失敗 : %u", Success, Failure);
MessageBox(NULL, string, title, MB_ICONINFORMATION);
}
return 0;
}
0032デフォルトの名無しさん
2007/12/15(土) 20:45:15printtoって何の為に存在しているキーがわからんし、削除してもWindows自体に影響ならそうなので適当に作ったプログラム。
ソースファイルはずたずたのぼろぼろのひどい状態。もう、直すきにもなりない。
0033しんこ
2007/12/15(土) 21:41:36int sleep(unsigned long time){
clock_t s=clock();
clock_t c;
do{
if((c=clock())==(clock_t)-1){
return 0;
}
}while(1000UL*(c-s)/CLOCKS_PER_SEC<=time);
return 1;
}
0034デフォルトの名無しさん
2007/12/15(土) 21:43:49#include <stdlib.h>
void main(void){
int i,j,ctr;
int a,b;
randomize();
for(j=1;j<=300;j++){
for(i=ctr=0;i<10000;i++){
for(a=b=0;a+b<j;){
if(rand()%2==0){
a++;
}
else{
b++;
}
}
if(a%4==b%2){
ctr++;
}
}
printf("\n%d回目:0.%d\%",j,ctr);
}
}
0035デフォルトの名無しさん
2007/12/15(土) 21:49:15int n[3], pos=0;
char buf[4][4] = {};
for (int i=0; *(ip+i) != '\0'; i++) {
if (*(ip+i) == '.') {
*(n+pos) = i;
pos++;
}
}
memcpy(buf, ip, *(n+1) - *n - 1);
memcpy((buf+1), (ip + *n + 1), *(n+1) - *n - 1);
memcpy((buf+2), (ip + *(n+1) + 1), *(n+2) - *(n+1) - 1);
memcpy((buf+3), (ip + *(n+2) + 1), strlen(ip) - *(n+2) - 1);
*result = atoi(*buf);
*(result+1) = atoi(*(buf+1));
*(result+2) = atoi(*(buf+2));
*(result+3) = atoi(*(buf+3));
}
0036デフォルトの名無しさん
2007/12/15(土) 23:08:46{
if (oppai >= 100) return 'A';// きょぬー好きのおいらにはたまらない
elseif (oppai < 80) return 'A';// ひんぬーもまた趣がある
else return 'D';// ここに形のよさでもランクを考慮するコードを追加予定
}
0037裕釐
2007/12/16(日) 12:54:56int foo(){
Lank(99);
sleep(29);
fowata(NULL);
HALT();
return 0;
}
0038デフォルトの名無しさん
2007/12/17(月) 04:01:140039デフォルトの名無しさん
2007/12/17(月) 04:03:190040あー
2007/12/17(月) 04:03:490041デフォルトの名無しさん
2007/12/17(月) 04:04:590042デフォルトの名無しさん
2007/12/17(月) 04:06:480043デフォルトの名無しさん
2007/12/17(月) 04:09:070044デフォルトの名無しさん
2007/12/17(月) 16:03:330045デフォルトの名無しさん
2007/12/17(月) 17:56:07{
fprintf(log, "部長のバカ!");
abort();
}
0046デフォルトの名無しさん
2007/12/17(月) 19:00:34int DosMain(int argc, char *argv[]) { }
0047デフォルトの名無しさん
2007/12/22(土) 02:24:130048デフォルトの名無しさん
2008/01/19(土) 19:51:59#include "Windows.h"
int EM(int i) {
char ErrorMessage[5][15] = { "戦闘アニメ", "属性", "チップセット", "コモンイベント", "イベント" }, Text[40];
sprintf(Text, "無効な%sが指定されました。", ErrorMessage[i]);
MessageBox(NULL, Text, "中断エラー", MB_ICONSTOP);
exit(1);
}
0049デフォルトの名無しさん
2008/03/11(火) 20:46:57if(isSaveMode() == 1) {
MessageBox(NULL, "当プログラムは、セーブモードでは使用できません。", NULL, MB_ICONSTOP);
}
else {
MessageBox(NULL, "使い方:スタートボタンのプログラムの直下にあるスタートアップにこのプログラムをコピーして下さい。\n"\
"概要:Windowsをセーブモードで起動したとき、\"当プログラムは、セーブモードでは使用できません。\"というメッセージを表示するイタズラプログラムです。",
NULL, MB_ICONSTOP);
}
}
0050デフォルトの名無しさん
2008/03/11(火) 22:35:460051デフォルトの名無しさん
2008/09/28(日) 22:57:300052デフォルトの名無しさん
2008/09/29(月) 02:01:25#include <windows.h>
void chinko_onanism(int ecstasy=0,int bokki_max=100){
int i;
do{
system("cls");
printf("しこしこ・・\n警告> おちんこが膨張しています・・\n");
printf("伸縮度> ");
for(i=0;i<ecstasy;i++) printf("■");
ecstasy++;
} while(ecstasy==bokki_max);
printf("\nアッー> ドピュッ");
}
int main(){ chinko_onanism(); return 0;}
おまえらが毎日やってること
0053デフォルトの名無しさん
2008/09/29(月) 22:00:14バグってる
0054デフォルト名無しさん
2008/10/07(火) 17:17:50#include <stdio.h>
char restring()
{
char d;
char c = getchar();
if(c == '\n') return c;
d = restring();
putchar(c);
return d;
}
int main()
{
while(1) {
char c = restring();
putchar(c);
if(c == '\n')
break;
}
return 0;
}
0055デフォルトの名無しさん
2008/10/09(木) 12:49:31% echo bar | ./54
rab
% echo -n foo | ./54
Segmentation fault
%
--
ダメすぎ。
0056デフォルトの名無しさん
2008/10/24(金) 04:23:49早漏すぎる
0057デフォルトの名無しさん
2008/11/18(火) 12:08:28pasβ{ren(i=$p)*√gam{i-mof}};
beroaM{endofreef(iq=5β)};
end;
}
0058デフォルトの名無しさん
2008/11/18(火) 14:08:54{
while(1)
{
super_while();
}
}
0059デフォルトの名無しさん
2008/11/21(金) 02:20:400060デフォルトの名無しさん
2009/03/15(日) 01:30:090061デフォルトの名無しさん
2009/03/15(日) 09:48:410062デフォルトの名無しさん
2009/08/28(金) 22:46:120063デフォルトの名無しさん
2009/08/31(月) 15:10:45int main(int argc, char **argv){
return argc == 1 ? 0 : atoi(argv[1]) + main(argc - 1, argv + 1);
}
0064デフォルトの名無しさん
2009/09/01(火) 11:01:57main()の再帰呼び出しは保証されていないと思うが。
0065デフォルトの名無しさん
2009/09/03(木) 00:36:37普通のCランタイム使ってるならば保証されているはずなんだけど。
まあmainの再帰呼び出しを推奨している奴はいないと思うが
0066デフォルトの名無しさん
2010/02/21(日) 18:17:32malloc(INT_MAX);
return main();
}
■ このスレッドは過去ログ倉庫に格納されています