C語(yǔ)言是一種十分流行的編程語(yǔ)言,可以用來完成各種各樣的任務(wù)。其中一項(xiàng)任務(wù)就是刪除JSON文件內(nèi)容。本文將介紹如何在C語(yǔ)言中使用pre標(biāo)簽刪除JSON文件內(nèi)容。
int main() { FILE *fp; char data[1024], data_new[1024]; int key_count = 0, key_ref[100][2], i, j, len, flag, num; fp = fopen("data.json", "r+"); if (fp == NULL) { printf("Unable to open file.\n"); return 0; } fgets(data, 1024, fp); len = strlen(data); printf("Enter the key to delete: "); scanf("%s", data_new); for (i = 0; i< len; i++) { if (data[i] == '\"') { flag = 1; if (key_count % 2 == 0) { key_ref[key_count / 2][0] = i; } else { key_ref[key_count / 2][1] = i; num = i - key_ref[key_count / 2][0] + 1; if (strncmp(data + key_ref[key_count / 2][0], data_new, num) == 0) { for (j = key_ref[key_count / 2 - 1][1] + 2; j< key_ref[key_count / 2][0] - 2; j++) { data_new[j - key_ref[key_count / 2 - 1][1] - 2] = data[j]; } data_new[j - key_ref[key_count / 2 - 1][1] - 2] = '\0'; } } key_count++; } else if (key_count != 0 && flag == 1 && data[i] == ':') { if (strncmp(data + key_ref[key_count / 2 - 1][0], data_new, key_ref[key_count / 2 - 1][1] - key_ref[key_count / 2 - 1][0] + 1) == 0) { if (data[i + 1] == '\"') { for (j = i + 3; j< len; j++) { data_new[j - i - 3] = data[j]; } data_new[j - i - 3] = '\0'; } else { for (j = i + 1; j< len; j++) { data_new[j - i - 1] = data[j]; } data_new[j - i - 1] = '\0'; } } flag = 0; } } if (key_count == 0) { printf("Key not found.\n"); } else { fseek(fp, 0L, SEEK_SET); fwrite(data_new, strlen(data_new), 1, fp); ftruncate(fileno(fp), strlen(data_new)); fclose(fp); printf("Key deleted successfully.\n"); } return 0; }
以上就是使用C語(yǔ)言刪除JSON文件內(nèi)容的代碼,其中使用了文件讀寫和字符串操作的相關(guān)函數(shù),需要有一定的編程基礎(chǔ)才能理解。通過以上代碼的改動(dòng),可以實(shí)現(xiàn)任意需要?jiǎng)h除的JSON文件內(nèi)容。
上一篇c 判斷json 大小
下一篇html字的大小代碼