由于工作需要,需要在一行數(shù)百行的數(shù)字中,每個數(shù)字使用逗號‘,’分隔開打印文件右側(cè)有逗號,如下打印文件右側(cè)有逗號,尋找第n個數(shù)字,并將其改成其他的值。寫了一個如下的小程序。如果你有更好的方法,歡迎留言評論額。
47, 124, 137, 0, 237, 217, 104, 119, 88, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 214, 159, 220, 168, 24, 23, 170, 144, 67, 115, 39, 246, 185, 104, 237, 244, 222, 212, 9, 254, 2 30, 28, 28, 132, 221, 232, 11, 153, 41, 39, 78, 196, 0, 0, 15, 3, 0, 0, 0, 0, 0, 167, 183, 119, 191, 118, 148, 21, 0, 243, 124, 0, 0, 38, 20, 158, 152, 143, 0, 0, 0, 106, 49, 22, 143, 140, 5, 150, 0, 231, 183, 63, 54, 47, 0, 0, 0, 0, 0, 0, 175, 102, 158, 208, 56, 93, 138, 108, 32, 185, 84, 34, 174, 124, 237, 4, 76, 128, 56, 116, 134, 237, 203, 250, 87, 203, 220, 25, 226, 46, 29, 223, 85, 6, 229, 2 03, 1, 195, 109, 1 68, 181, 47, 72, 131, 127, 0, 103, 154, 178, 200, 0, 108, 86, 95, 224, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 249, 182, 0, 0, 0, 0, 0, 0, 0, 153, 16, 29, 162, 0, 0, 0, 0, 0, 0, 90, 95, 36, 0, 0, 88, 0, 0, 0, 0, 254, 0, 0, 0, 0, 87, 19, 0, 85, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 105, 151, 35, 150, 179, 0, 0, 0, 0, 0, 90, 104, 85, 95, 13 0, 184, 81 , 8, 204, 49, 170, 44, 83, 46, 0
將上面的數(shù)字序列放進文件.txt中。
下如下的小代碼:
#include
#include
#define HELLO "hello word\r\n"

int main(int argc, char *argv[])
{
printf(HELLO);
FILE *fp = NULL;
char c;
int i = 0;

int number = 0;
printf("file:%s,NUMber:%s\n", argv[1], argv[2]);
number = atoi(argv[2]);
printf("number = %d\n", number);
fp = fopen(argv[1], "rb");

while(1)
{
c = getc(fp);
if(c == ',')
{
i++;
}

printf("%c ",c);
if(i == number)
{
break;
}
}
printf("\n");

return 0;
}
做如下的執(zhí)行:第一個參數(shù)是文件,第二個參數(shù)是要修改的第幾個數(shù)字。
./hello crc_pilot.txt 173
執(zhí)行結(jié)果如下,這樣要在這數(shù)百個數(shù)字中找到第173個,就相對容易一點了。
hello word
file:crc_pilot.txt,NUMber:173
number = 173
4 7 , 1 2 4 , 1 3 7 , 0 , 2 3 7 , 2 1 7 , 1 0 4 , 1 1 9 , 8 8 , 0 , 0 , 8 9 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 1 4 , 1 5 9 , 2 2 0 , 1 6 8 , 2 4 , 2 3 , 1 7 0 , 1 4 4 , 6 7 , 1 1 5 , 3 9 , 2 4 6 , 1 8 5 , 1 0 4 , 2 3 7 , 2 4 4 , 2 2 2 , 2 1 2 , 9 , 2 5 4 , 2 3 0 , 2 8 , 2 8 , 1 3 2 , 2 2 1 , 2 3 2 , 1 1 , 1 5 3 , 4 1 , 3 9 , 7 8 , 1 9 6 , 0 , 0 , 1 5 , 3 , 0 , 0 , 0 , 0 , 0 , 1 6 7 , 1 8 3 , 1 1 9 , 1 9 1 , 1 1 8 , 1 4 8 , 2 1 , 0 , 2 4 3 , 1 2 4 , 0 , 0 , 3 8 , 2 0 , 1 5 8 , 1 5 2 , 1 4 3 , 0 , 0 , 0 , 1 0 6 , 4 9 , 2 2 , 1 4 3 , 1 4 0 , 5 , 1 5 0 , 0 , 2 3 1 , 1 8 3 , 6 3 , 5 4 , 4 7 , 0 , 0 , 0 , 0 , 0 , 0 , 1 7 5 , 1 0 2 , 1 5 8 , 2 0 8 , 5 6 , 9 3 , 1 3 8 , 1 0 8 , 3 2 , 1 8 5 , 8 4 , 3 4 , 1 7 4 , 1 2 4 , 2 3 7 , 4 , 7 6 , 1 2 8 , 5 6 , 1 1 6 , 1 3 4 , 2 3 7 , 2 0 3 , 2 5 0 , 8 7 , 2 0 3 , 2 2 0 , 2 5 , 2 2 6 , 4 6 , 2 9 , 2 2 3 , 8 5 , 6 , 2 2 9 , 2 0 3 , 1 , 1 9 5 , 1 0 9 , 1 6 8 , 1 8 1 , 4 7 , 7 2 , 1 3 1 , 1 2 7 , 0 , 1 0 3 , 1 5 4 , 1 7 8 , 2 0 0 , 0 , 1 0 8 , 8 6 , 9 5 , 2 2 4 , 0 , 0 , 0 , 0 , 0 , 2 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 8 , 2 4 9 , 1 8 2 ,