C言語コピペ集
学校ではC言語で書かなければならないものが多いのですが,何回書いてもすっぽりぬけるので,個人的まとめ.
ってことで以下本当に初歩の初歩のコピペ集
(書くのに要した時間約30分程度という適当感満載なかんじなのできっと間違いがある)
テンプレート
#include <stdio.h> #include <stdlib.h> int main(void) { return 0; }
どうでもいいけどreturnよく打ち損じます.
上の方
#define MISO 46 void misoshiru(int wakame, char tofu[][MISO]);
ループ
for (; ;) { for (; ;) { for (; ;) { for (; ;) { } } } } while(1) { }
入力
scanf("%d", &i); gets(str);
ファイル
開く
if ((fp = fopen(fname, "a")) == NULL) { printf("can't open a file\n"); exit(1); }
モード | 動作 | ファイルがあるとき | ファイルがないとき |
---|---|---|---|
"r" | 読み出し専用 | 正常 | NULL |
"w" | 書き込み専用 | 上書き | 新規作成 |
"a" | 追加書き込み専用 | 最後に追加 | 新規作成 |
"r+" | 読み込みと書き込み | 正常 | NULL |
"w+" | 書き込みと読み込み | 上書き | 新規作成 |
"a+" | 読み込みと追加書き込み | 最後に追加 | 新規作成 |
読み込み
while(fgets(row, sizeof(row), fp) != NULL) { // 処理 };
出力
fprintf(fp, "%d", i); fputs(str, fp);
閉じる
fclose(fp);
配列
int *a; a = (int *)malloc(sizeof(int)*size); a = (int *)realloc(a, sizeof(int)*size);
構造体
// 型定義 typedef struct { char name[20]; char ingredients[20]; } misoshiru_t; // 宣言 misoshiru_t Sinsyu = {"信州みそ", "わかめ"}; misoshiru_t Japan[20] = { {"加賀みそ", "油揚げ"}, {"麦みそ", "豆腐"}, {"赤みそ", "ネギ"} }; // 使い方 printf("%s %s", Shinsyu.name, Shinsyu.ingredients); printf("%s %s", Japan[0].name, Japan[0].ingredients);
時間
#include <time.h> clock_t start,end; double rTime; start = clock(); // 計測開始 end = clock(); // 計測終了 rTime = (double)(end-start)/CLOCKS_PER_SEC;