我已經從兩個文件中讀取字符串,並將它們存儲到兩個單獨的數組中,然後嘗試對它們進行排序並將它們寫入另一個文件中......這部分以它應該的方式工作但我真正需要做的是將兩個數組中的字符串合併爲一個,以便我可以按字母順序對它們進行排序,然後寫入一個文件,但問題是,當我嘗試將這兩個數組存儲到一個數組中時,分段錯誤作爲錯誤消息..我真的不知道如何將這兩個數組存儲到另一個,以便我可以按順序排序...我知道如何排序它我不知道如何將它們讀入另一個數組......我不能使用#DEFINE,因爲我要將所有這些寫入測試代碼的函數中......將字符串從文件存儲到數組
我有嘗試類似
new [i] = str;
也:
的strcpy(新[I],STR)
但無論這些工作...任何幫助將不勝感激......
這是我的代碼:
#include<stdio.h>
#include<string.h>
main (void)
{
char str[200];
char str2[300];
char new[300];
char temp [300];
int linenumber=0;
FILE *fa = fopen ("book1.dat", "r");
FILE *fb = fopen ("book2.dat", "r");
FILE *fc = fopen ("fixed.txt", "w");
int i=0;
int j=0;
int k;
/*read the strings into an array while it is not the end of file*/
while(!feof(fa)&& !feof(fb))
{
linenumber++;
fscanf(fa,"%[^\n]\n",str);
fscanf(fb,"%[^\n]\n",str2);
/*compare strings in array and write to array*/
if(strcmp(str2, str)<0)
{
fprintf(fc, "%s\n", str2);
fprintf(fc, "%s\n", str);
}
if (strcmp(str2,str)>0)
{
fprintf(fc, "%s\n", str);
fprintf(fc, "%s\n", str2)
}
/*print out the results of str */
printf("%s", str);
}
}
你是什麼意思*如何將這些讀入另一個數組* *?你想合併2個字符串嗎?你想要一串字符串嗎? – cnicutar
是的,我正在嘗試將數組str和str2中的字符串放到數組中,以便我可以按字母順序對新數組中的所有字符串進行排序,但是我不知道如何將它們合併爲一個字符串數組... – user1385602