Я пытаюсь прочитать из текстового файла и написать его, но каждый раз, когда я выполняю свой код, ничего не происходит с текстовыми файлами. «Ничего не происходит», я имею в виду, что программа не будет читать мой входной файл, и никакие данные не будут экспортированы в мой выходной файл. Может ли кто-нибудь указать, почему он не работает? Спасибо за любую помощь, предоставленную заранее. Вот мой код:C Программирование файлов ввода/вывода
#include <stdio.h>
#include <stdlib.h>
FILE *inptr, *outptr;
int main() {
int a, b, c;
inptr = fopen("trianglein.txt","r"); //Initialization of pointer and opening of file trianglein.txt
outptr = fopen("triangleout.txt","w"); //Initialization of pointer and opening of file triangleout.txt
while((fscanf(inptr,"%d %d %d",&a, &b, &c))!= EOF){
fprintf(outptr,"\n%2d %2d %2d\n",a,b,c);
if(a+b>c && b+c>a && c+a>b){
fprintf(outptr, "This is a triangle.\n");
if(a !=b && b !=c && a!=c){
fprintf(outptr, "This is a scalene triangle.\n");
if(a==b && a==c && c==b){
fprintf(outptr, "This is an equilateral triangle.\n");
if(a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b){
fprintf(outptr, "This is a right trianlge.\n");
}
}
}
}
}
return 0;
}
trianglein.txt
содержание:
10 12 15
2 3 7
3 4 5
6 9 5
6 6 6
6 8 10
7 7 9
Кажется, что работает для меня. Как и в том случае, когда я запускаю его, triangleout.txt содержит материал. Можете ли вы разместить содержимое своего trianglein.txt. (Также вы можете захотеть переустановить свою логику, потому что правый треугольник не является равносторонним треугольником.) – FDinoff
Кстати, вы можете захотеть реструктурировать свой код, используя «продолжить» - это позволит вам избежать этого огромного количества отступов – thejh
Если ничего не происходит то в рабочем каталоге нет файла «trianglein.txt». Проверьте возвращение fopen. Поместите файл в рабочий каталог, если это случай. Также проверьте содержимое «trianglein.txt». Использование отладчика - хорошая идея. – kotlomoy