ファイルから読み取った文字列の配列があります。ある時点で、1 つの要素を取り出し、* の前後に * を追加して、同じ配列に戻す必要があります。
これまでのところ、最後にアスタリスクを 1 つ追加することができましたstrcat
。そして、それは正しく印刷されています。では、最初にどのように追加すればよいでしょうか。
//malloc for the array has been done when read from file
char **array;
int arraySize;
for (i=0;i<arraySize;i++){
if (some_condition){
//Add * chars
array[i]=strcat(array[i],"*");
printf("Element %s was marked",array[i]);
}
//prints for example *foo*
}
質問が完全にばかげていて、答えが明らかな場合は申し訳ありません。事前に可能な回答をありがとう!
UPD : 配列 malloc 関数
void readd(FILE *file){
size=0; /*local size */
char line[BUFSIZ]; /* Local array for a single word read */
while ((fgets(line,sizeof(line),file))!=NULL){
/* trim newline char */
if (line[strlen(line)-1]=='\n')
line[strlen(line)-1] = '\0';
array=(char**)realloc(array,(size+1)*sizeof(char *));
array[size++]=strdup(line);
}
}