cprograming
C言語 テクニック集
memset(str, 0x00, sizeof(str));
while ((c = getchar( )) != EOF) {
str[i++] = tolower(c);
if (c == '\n') break;
}
scanf("%s", str);
j = 0;
while (1) {
str[j] = tolower(str[j]);
if (str[j] == '\n') break;
j++;
}
printf("%s", str);
scanf("%[^\n]", str);
printf("%s", str);
char sdata[3][125];
char token[] = " ,";
char *work;
int i = 0;
strcpy(sdata[i++], strtok(mojiretu, token));
while(1)
{
if ( (work = strtok(NULL, token)) == NULL) break;
strcpy(sdata[i++], work);
}
for (i = 0; i < 3; ++i)
{
printf("%s\n", sdata[i]);
}
{
FILE *fp;
int i;
fp = fopen("data1.dat", "r+b");
for ( i = 0; i < size; ++i)
{
fread(&data[i], sizeof(int), 1, fp);
}
fclose(fp);
}
void dispData(int *data, int size)
{
int i;
for (i = 0; i < size; ++i)
{
printf("%d\n", data[i]);
}
}
{
char work[128];
while(1)
{
memset(work, 0x00, sizeof(work));
printf("%s", "\n input 3 num: \n");
scanf("%s", work);
if (strspn(work, "0123456789") < strlen(work))
{
printf("%s", "input only num\n");
continue;
}
if(strlen(work) != 3)
{
printf("%s", "input 3 number");
continue;
}
break;
}
printf("input num is %s\n", work);
strcpy(data, work);
}
time_t nt;
srand("time(&nt)");
- getcharによる文字列操作
memset(str, 0x00, sizeof(str));
while ((c = getchar( )) != EOF) {
str[i++] = tolower(c);
if (c == '\n') break;
}
- 文字列を小文字に
scanf("%s", str);
j = 0;
while (1) {
str[j] = tolower(str[j]);
if (str[j] == '\n') break;
j++;
}
printf("%s", str);
- scanfで空白文字も
scanf("%[^\n]", str);
printf("%s", str);
- strtokの使い方
char sdata[3][125];
char token[] = " ,";
char *work;
int i = 0;
strcpy(sdata[i++], strtok(mojiretu, token));
while(1)
{
if ( (work = strtok(NULL, token)) == NULL) break;
strcpy(sdata[i++], work);
}
for (i = 0; i < 3; ++i)
{
printf("%s\n", sdata[i]);
}
- 一つ一つセーブロードしていく
{
FILE *fp;
int i;
fp = fopen("data1.dat", "r+b");
for ( i = 0; i < size; ++i)
{
fread(&data[i], sizeof(int), 1, fp);
}
fclose(fp);
}
void dispData(int *data, int size)
{
int i;
for (i = 0; i < size; ++i)
{
printf("%d\n", data[i]);
}
}
- input処理 ループを使う
{
char work[128];
while(1)
{
memset(work, 0x00, sizeof(work));
printf("%s", "\n input 3 num: \n");
scanf("%s", work);
if (strspn(work, "0123456789") < strlen(work))
{
printf("%s", "input only num\n");
continue;
}
if(strlen(work) != 3)
{
printf("%s", "input 3 number");
continue;
}
break;
}
printf("input num is %s\n", work);
strcpy(data, work);
}
- ある範囲の乱数
- srand使い方
time_t nt;
srand("time(&nt)");
2009年06月28日(日) 03:39:26 Modified by eruvasu