Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » помогите найти ошибку
помогите найти ошибку
Написать программу нахождения в строковом файле слов с длиной K символов и переписать в другой файл все слова длины K из исходного файла. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки. Если исходный файл не содержит слов длины K, то оставить результирующий файл пустым

постоянно выдает ошибки...помогите, пжл, что нужно исправить??

#include <stdio.h>
#include <conio.h>

int main(void) {
isalpha(unsigned char c);
FILE *fin;
fin = fopen("D:\\1.txt", "r");// открытие файла для чтения
FILE *fout;
fout = fopen("D:\\2.txt", "w");// открытие файла для записи
int k, p, c, iw = 0;
char word[65];
if (!fin && !fout) {
printf("File error. Exit...\n");
fclose(fin);
fclose(fout);
return 0;
}
printf("K? ");
scanf("%d", &k);
if (k > 64) {
printf("Too long word. Exit...\n");
fclose(fin);
fclose(fout);
return 0;
}
do {
c = fgetc(fin);
if ( !iw && isalpha© ) {
iw = 1;
p = 0;
word[p] = c;
} else if ( iw && isalpha© ) {
++p;
word[p] = c;
if (p == 63) {
iw = 0;
if (k = 64) {
word[64] = '\0';
fprintf(fout, "%s\n", word);
}
}
} else if ( iw && !isalpha© ) {
iw = 0;
++p;
if (p == k) {
word[p] = '\0';
fprintf(fout, "%s\n", word);
}
}
} while (c != EOF);
fclose(fin);
fclose(fout);
printf("\n\n Result of record look in file %s\n", word);
_getch();
return 0;
}
1 | Автор: Landrian | 2012-06-13, 19:56   |  Репутация: [ + 0 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » С, C++ » помогите найти ошибку
  • Страница 1 из 1
  • 1
Поиск: