#include #include #include #define read "E:\\read.txt" #define write "E:\\write.txt" typedef struct{ char ID[11]; char ID_New[7]; char name[7]; char age[3]; }DATA; void substr(char *dest, const char* src, unsigned int start, unsigned int cnt) { strncpy(dest, src + start, cnt); dest[cnt] = 0; } void substr(char *dest, const char* src, unsigned int start, unsigned int cnt); int main(void) { FILE *readPtr, *writePtr; DATA data; readPtr = fopen(read, "r"); writePtr = fopen(write, "a"); if (!readPtr) { printf("read.txt fail to open...\n"); } else if(!writePtr) { printf("write.txt fail to open...\n"); } else{ while(fgets(data.ID,11,readPtr) != NULL){ //fseek(readPtr, 0, SEEK_CUR); substr(data.ID_New,data.ID,0,6); fputs(data.ID_New,writePtr); fgets(data.name,7,readPtr); fputs(data.name,writePtr); fgets(data.age,3,readPtr); fputs(data.age,writePtr); /* 結果: A12345張阿三10 B123456789李阿 C1234567老五45 我認為應該是: A12345張阿三10 B12345李阿四15 C12345王老五45 */ } } fclose(readPtr); fclose(writePtr); system("pause"); return 0; }