#9
by 幸尚 » 1年前
コード:
#include <stdio.h>
#include <string.h>
int main()
{
char dat[15];
char* p;
char* pa;
int list[15];
int digit = 1;
int b = 0;
int i = 0;
int count = 0;
memset(dat, 0, sizeof(dat));
memset(list, 0, sizeof(list));
dat[0] = '1', dat[1] = ',', dat[2] = '2', dat[3] = '3';
dat[4] = ',', dat[5] = '4', dat[6] = '5', dat[7] = '6';
dat[8] = ',', dat[9] = '\0';
printf("--------------------\n");
printf("コンマありのデータ\n");
printf("--------------------\n");
while (dat[i] != '\0')
{
printf("dat[%d] = %c\n", i, dat[i]);
i++;
}
p = dat;
pa = dat;
while (p = strchr(p, ','))
{
for (i = 0; i < p - pa; i++)
{
*pa = *(pa + i);
int num = *pa - '0';
b += num;
list[count] = b;
b *= (digit * 10);
}
p++;
pa = p;
count++;
b = 0;
digit = 1;
}
printf("--------------------\n");
printf("コンマなしのデータ\n");
printf("--------------------\n");
i = 0;
while (list[i] != '\0')
{
printf("list[%d] = %d\n", i, list[i]);
i++;
}
return 0;
}
出力結果
コード:
--------------------
コンマありのデータ
--------------------
dat[0] = 1
dat[1] = ,
dat[2] = 2
dat[3] = 3
dat[4] = ,
dat[5] = 4
dat[6] = 5
dat[7] = 6
dat[8] = ,
--------------------
コンマなしのデータ
--------------------
list[0] = 1
list[1] = 23
list[2] = 456
出力結果2
コード:
--------------------
コンマありのデータ
--------------------
dat[0] = 1
dat[1] = 3
dat[2] = ,
dat[3] = 3
dat[4] = 3
dat[5] = 4
dat[6] = ,
dat[7] = 6
dat[8] = ,
--------------------
コンマなしのデータ
--------------------
list[0] = 13
list[1] = 334
list[2] = 6
かなり汚く不細工なソースになり申し訳ございません。
[code]
#include <stdio.h>
#include <string.h>
int main()
{
char dat[15];
char* p;
char* pa;
int list[15];
int digit = 1;
int b = 0;
int i = 0;
int count = 0;
memset(dat, 0, sizeof(dat));
memset(list, 0, sizeof(list));
dat[0] = '1', dat[1] = ',', dat[2] = '2', dat[3] = '3';
dat[4] = ',', dat[5] = '4', dat[6] = '5', dat[7] = '6';
dat[8] = ',', dat[9] = '\0';
printf("--------------------\n");
printf("コンマありのデータ\n");
printf("--------------------\n");
while (dat[i] != '\0')
{
printf("dat[%d] = %c\n", i, dat[i]);
i++;
}
p = dat;
pa = dat;
while (p = strchr(p, ','))
{
for (i = 0; i < p - pa; i++)
{
*pa = *(pa + i);
int num = *pa - '0';
b += num;
list[count] = b;
b *= (digit * 10);
}
p++;
pa = p;
count++;
b = 0;
digit = 1;
}
printf("--------------------\n");
printf("コンマなしのデータ\n");
printf("--------------------\n");
i = 0;
while (list[i] != '\0')
{
printf("list[%d] = %d\n", i, list[i]);
i++;
}
return 0;
}
[/code]
出力結果
[code]
--------------------
コンマありのデータ
--------------------
dat[0] = 1
dat[1] = ,
dat[2] = 2
dat[3] = 3
dat[4] = ,
dat[5] = 4
dat[6] = 5
dat[7] = 6
dat[8] = ,
--------------------
コンマなしのデータ
--------------------
list[0] = 1
list[1] = 23
list[2] = 456
[/code]
出力結果2
[code]
--------------------
コンマありのデータ
--------------------
dat[0] = 1
dat[1] = 3
dat[2] = ,
dat[3] = 3
dat[4] = 3
dat[5] = 4
dat[6] = ,
dat[7] = 6
dat[8] = ,
--------------------
コンマなしのデータ
--------------------
list[0] = 13
list[1] = 334
list[2] = 6
[/code]
かなり汚く不細工なソースになり申し訳ございません。