#include#include #include #define STR_LEN_MAX 100char **ppcStringArry = NULL;int num = 0;void OutPutTest1();void OutPutTest2();/* 字符串数组输出函数*/void OutPut(){ int i = 0 ; for (; i < num; i++) { if (NULL != ppcStringArry[i]) { //free(ppcStringArry[i]); } printf("index is %d, string is %s.\r\n", i, ppcStringArry[i]); } printf("\r\n"); printf("%s\r\n", "----------------------------------");}/* 字符串数组排序输出函数*/void SortOutPut(){ int m = 0; int n = 0; char * temp = NULL; for (m = 0; m < num -1; m++) { for (n = m + 1; n < num; n++) { if (strcmp(ppcStringArry[m], ppcStringArry[n]) > 0) { temp = ppcStringArry[m]; ppcStringArry[m] = ppcStringArry[n]; ppcStringArry[n] = temp; } } } OutPut();}int main(){ //OutPutTest1(); OutPutTest2();}/* 使用fgets函数*/void OutPutTest1(){ char acDate[STR_LEN_MAX] = { 0}; FILE * pFile; pFile = fopen("F://C/1.txt", "ab+"); num = 0; ppcStringArry = (char**)malloc(STR_LEN_MAX * sizeof(char*)); while(NULL != fgets(acDate, STR_LEN_MAX, pFile)) { ppcStringArry[num] = (char*)malloc(STR_LEN_MAX); memset(ppcStringArry[num], 0, STR_LEN_MAX); memcpy(ppcStringArry[num], acDate, strlen(acDate)+1); memset(acDate, 0, sizeof(acDate)); num++; } SortOutPut();}/* 使用fscanf函数*/void OutPutTest2(){ //char acDate[STR_LEN_MAX] = {0}; FILE * pFile; pFile = fopen("F://C/1.txt", "ab+"); int ret = 0; num = 0; ppcStringArry = (char**)malloc(STR_LEN_MAX * sizeof(char*)); ppcStringArry[num] = (char*)malloc(STR_LEN_MAX); memset(ppcStringArry[num], 0, STR_LEN_MAX); ret = fscanf(pFile, "%s", ppcStringArry[num]); while( EOF != ret) { num++; ppcStringArry[num] = (char*)malloc(STR_LEN_MAX); memset(ppcStringArry[num], 0, STR_LEN_MAX); ret = fscanf(pFile, "%s", ppcStringArry[num]); } SortOutPut();}