Есть такой код:
primary_list = tuple([line.strip() for line in open('file1.txt', 'r')])
secondary_list = tuple([line.strip() for line in open('file2.txt', 'r')])
f = open('test.txt', 'w')
users_unique = []
def isUnique(value):
if value not in users_unique:
users_unique.append(value)
return True
else:
return False
def common():
for item in primary_list:
if item is None:
continue
elif item in secondary_list and isUnique(item):
f.write(str(item)+'\r\n')
print 'Complete'
Стоит задача переписать его на Си. Вот мои наработки:
#include <stdio.h>
#define N 10
#include <stdbool.h>
bool isvalueinarray(char val, char arr, char size){
int i;
for (i=0; i < size; i++) {
if (arr[i] == val)
return true;
}
return false;
}
main () {
FILE *primary_list;
char arr[N];
FILE *secondary_list;
char arr2[N];
FILE *f;
primary_list = fopen("file1.txt", "r");
secondary_list = fopen("file2.txt", "r");
f = fopen("f.txt", "w");
while (fgets (arr, N, primary_list) != NULL){
fputs(arr, f);
};
while (fgets (arr2, N, secondary_list) != NULL){
fputs(arr2, f);
};
printf("\n");
fclose(f);
}
Что нужно поправить в функции проверки на уникальность, чтобы все работало? Подскажите, пожалуйста, куда копать. Заранее спасибо