1

(7 відповідей, залишених у C++)

це я все розумію, я не дожену, яким чином мені це реалізувати. ось частина мого коду

int i;
char code_station[5]="",number_phone[11]="";
printf ("Enter number phone\n");
scanf("%s", number_phone);
number_phone[11]='\0';
for(i=0;i<4;i++){
strcpy(code_station[i],mumber_phone[i+3]);
}

це одна з моїх дурних ідей була, зрозуміле діло вона не робоча, однак, як реалізувати, щоб це працювало я не знаю

2

(7 відповідей, залишених у C++)

в мене є 2 рядки, в одному 4 символи, в іншому 10, яким чином можна в перший рядок переписати символи з 4 по 7 включно другого рядка?

3

(2 відповідей, залишених у C++)

а якщо в датовський файл писати числові значення, то в самому файлі вони будуть коректно відображатися? бо мій знайомий стверджує, шо в самому файлі можуть бути записані як якісь інші символи, а при виведенні змісту цього файлу в консолі буде відображатися коректно всі числові дані.

4

(17 відповідей, залишених у C++)

тільки назву останньої групи виводить чомусь 2 рази

5

(17 відповідей, залишених у C++)

пробував і так, але чомусь не працювало так, тепер працює, дякую велике!)

koala написав:
fread (&name_groups,sizeof(name_groups),1,fPtrG);

не пробували?

Взагалі - спробуйте описати структуру файла словами: спершу іде ось таке (стільки байт), потім ось це (ще стільки-то байт) і т.д. Після цього перевірте, що саме так його і записуєте, а потім відповідно і читайте.

6

(17 відповідей, залишених у C++)

я пробував через fread, однак мені треба зчитати оце

    
else{
        fwrite (&name_groups,sizeof(name_groups),1,fPtrG);
    }

пробував і чомусь не виходить, а в гуглі не знайшов зразків як считати весь файл

7

(17 відповідей, залишених у C++)

я здається зрозумів з чим проблема, в мене виводить 1 рядок, а як зробити шоб зчитувало не до кінця рядка, а до кінця файлу? бо гугл ось не допомагає мені

koala написав:
skyfer написав:

по ідеї шоб їх вивести

По ідеї ні.
fread просто блок байтів з файлу (вказаного останнім параметром) до пам'яті за певною адресою (перший параметр). Ваша команда призводить до перезапису структури FILE якимось байтом з файлу, що станеться далі - взагалі не зрозуміло.
puts виводить рядок, тобто послідовність байт, яка закінчується нульовим символом '\0'. Таку конструкцію читає з файлу функція fgets (тільки не до нульового символу, а до кінця рядка, але нам це і треба), а не fread.

8

(17 відповідей, залишених у C++)

тепер з циклу не випускає, якщо прибрати fseek то виводить правильно, але лише 1 групу, а із зміщенням зациклюється   

char list_group[6];
{
  FILE *ptrFile = fopen( "groups.dat" , "rb" );
 
  if (ptrFile == NULL)
  {
      fputs("Îøèáêà ôàéëà", stderr);
      exit(1);
  }
  while(!feof(ptrFile)){
  
    fgets(list_group, 6, ptrFile);  // ñ÷èòàòü ñèìâîëû èç ôàéëà
       puts(list_group);  // âûâîä íà ýêðàí
       fseek ( ptrFile , 6 , SEEK_END );
}
     fclose (ptrFile);
}

9

(17 відповідей, залишених у C++)

це зрозумыв, з цим дякую, але як вивести всі дані з файлу все одно не пойму. по ідеї шоб їх вивести fread(ptrFile,sizeof(char),1,ptrFile);
puts(ptrFile);
от такий повинен бути запис, але не працює так, точніше нічого не виводить.

10

(17 відповідей, залишених у C++)

ось весь код, функція print_list_group

11

(17 відповідей, залишених у C++)

в мене дані повинні записуватися всі в 1 файл,  і виводитися аналогічно всі з одного файлу

Мені потрібно вивести декілька масивів символьного типу, а даний код виводить лише 1 масив, допоможіть модифікувати, бо гугл вже не допомагає)

FILE * ptrFile = fopen( "groups.dat" , "rb" );
 
  if (ptrFile == NULL)
  {
      fputs("Îøèáêà ôàéëà", stderr);
      exit(1);
  }
  fseek(ptrFile , 0 , SEEK_END);                         
  long lSize = ftell(ptrFile);                            
 
 while(!feof(ptrFile)){ 
 rewind (ptrFile);                                       
 
  char * buffer = (char*) malloc(sizeof(char) * lSize);
  if (buffer == NULL)
  {
      fputs("Îøèáêà ïàìÿòè", stderr);
      exit(2);
  }
  
  size_t result = fread(buffer, 1, lSize, ptrFile);       
  if (result != lSize)
  {
      fputs("Îøèáêà ÷òåíèÿ", stderr);
      exit (3);
  }
  
  puts(buffer);

  fclose (ptrFile);
  free (buffer);
  }
}