欢迎高手光临指导!该怎么处理
欢迎高手光临指导!
公司让我写一个算法,我琢磨了好几天就是写不出来,在此请大家帮忙分析一下如何才能写出这样的程序,
有一些数据格式:
231312312,123123123,213123123123123,123123123123,213123123123,1231231231123,213123
123123123,213123123,231312312312312,231231312321,321321313211,2131231231312,213313
123123123,213123123,231312312312312,231231312321,321321313211,2131231231312,213313
123123123,213123123,231312312312312,231231312321,321321313211,2131231231312,213313
没一行数据格式都是相同的,且每一个都好分割的数字串都是按固定长度显示的,而且每一行代表一个实体,
如果要把这些数据从文件中读取出来,我需要怎么做?用C写,祈祷高手指导!
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
http://baike.baidu.com/view/1028553.htm?fr=ala0_1_1
看里面的例子.
strtok(char *p,",")
返回值:
从p开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。
所有第二个参数中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
------解决方案--------------------
公司让我写一个算法,我琢磨了好几天就是写不出来,在此请大家帮忙分析一下如何才能写出这样的程序,
有一些数据格式:
231312312,123123123,213123123123123,123123123123,213123123123,1231231231123,213123
123123123,213123123,231312312312312,231231312321,321321313211,2131231231312,213313
123123123,213123123,231312312312312,231231312321,321321313211,2131231231312,213313
123123123,213123123,231312312312312,231231312321,321321313211,2131231231312,213313
没一行数据格式都是相同的,且每一个都好分割的数字串都是按固定长度显示的,而且每一行代表一个实体,
如果要把这些数据从文件中读取出来,我需要怎么做?用C写,祈祷高手指导!
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
http://baike.baidu.com/view/1028553.htm?fr=ala0_1_1
看里面的例子.
strtok(char *p,",")
返回值:
从p开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。
所有第二个参数中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
------解决方案--------------------
- C/C++ code
#define MAX_STRING_LENGTH 256 #define MAX_ELEMENT_LENGTH 20 #define ELEMENTS_PER_LINE 7 typedef struct { char line[MAX_STRING_LENGTH]; char data[ELEMENTS_PER_LINE][MAX_ELEMENT_LENGTH]; }DATA; int main(int argc, char* argv[]) { FILE *fp=fopen("1.txt","r"); DATA data; memset(&data, 0x00, sizeof(DATA)); fgets(data.line, MAX_STRING_LENGTH, fp); while (!feof(fp)) { int i=0,index=0; for(i=0; i<ELEMENTS_PER_LINE; i++) { sscanf(data.line+index,"%[^,]", data.data[i]); index+=strlen(data.data[i])+1; } //演示程序,这里只做一个输出显示,请自行根据功能需求更改 printf("line=%s\n", data.line); for(i=0; i<ELEMENTS_PER_LINE; i++) { printf("data[%d]=%s\n", i,data.data[i]); } printf("\n\n"); fgets(data.line, MAX_STRING_LENGTH, fp); } return 0; }