Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

C - Работа с txt файлове

Featured Replies

Здравейте ! Искам да попитам по какъв начин мога да отворя txt файл , като не съм го определил в кода на програмата , а се въвежда името му със началото на програмата. И същото условие обаче за създаване на файл.Ето какво съм написал но дава грешка, рових се в интернет но не можах да намеря точно това което ми трябва.За първи път работя с файлове може отговорът на въпроса ми да е много лесен , но когато не знае човек и лесните отговори ги открива трудно . Ето моето грешно творение :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
   char ime[1000];
   printf("Vuvedeto imeto na faila \n");
   scanf("%[^\n]s",&ime);
   FILE *file=fopen("C:\\ %s",ime,"r");
   printf("%c\n", fgetc(file));
   fclose(file);

   _getche();
   return 0;
}

Как трябва да бъде написан този ред (FILE *file=fopen("C:\\ %s",ime,"r"); ) със сигурност метода ми е грешен.Благодаря предварително smiley.gif

   char path[255]="C:\\";
   char ime[255];
   printf("Vuvedeto imeto na faila \n");
   scanf("%s",&ime);
   strcat(path,ime);
   FILE *file=fopen(path,"r"); 

Редактирано от ined (преглед на промените)

  • Автор
   char path[255]="C:\\";
   char ime[255];
   printf("Vuvedeto imeto na faila \n");
   scanf("%s",&ime);
   strcat(path,ime);
   FILE *file=fopen(path,"r"); 

Пробвах ето така да го направя :

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

   char c;

   char path[255]="C:\\";

   char ime[255];

   printf("Vuvedeto imeto na faila \n");

   scanf_s("%s",&ime);

   strcat_s(path,ime);

   FILE *file=fopen(path,"r");

   do

   {

       c=fgetc(file);

       printf("%c",c);

   }

    while(c!=EOF);

    fclose(file);

    _getche();

    return 0;

}

 

но ми дава грешка file :undecleared identifier и също така function' : 'FILE *' differs in levels of indirection from 'int'  , fclose' : different types for formal and actual parameter 1, да не трябва да се напише нещо допълнително в скобите на  int main() ?Извинявам се ако въпросът ми е елементарен но за пръв път се опитвам да използвам файлове. Благодаря предварително :)

Предполагам че проблема ти е в майкрософтския компилатор като гледам тея _s опашки иначе програмата си работи само дето няма проверка дали наистина си отворил файла, ако след fopen()  file е равно на NULL трябва да изкараш съощение за грешка. И е по-добре да се ползва while при четенето.

   FILE *file=fopen(path,"r");
   if (file) {
      while ((c=fgetc(file))!=EOF)
          putchar(c);
      fclose(file);
   } else perror(path);

Редактирано от ined (преглед на промените)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.