ibilalkayy Ответов: 1

Как выбрать и распечатать конкретное первое слово из файла?


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define STRING_LEN 200

int main(){
  char string[STRING_LEN];
  FILE * fp1 = fopen("file.csv", "r");
  char * data[2];
  char * line = NULL;
  int i = 0;

  while(fgets(string, STRING_LEN, fp1)){
    data[i] = strtok(string, ",");
    printf("data[%d] = %s\n", i, data[i]);
    i++;
  }
  return 0;
}


Что я уже пробовал:

Этот код считывает первое слово (например, имя и фамилию, но рассматривается как одно слово с разницей в запятую) из каждой строки, но как я могу выбрать конкретное? как будто я просто хочу напечатать данные[1] или просто хотите напечатать данные[0]

Результат, который он мне дает

data[0] = Bilal Khan
data[1] = Ali Ahmed
data[2] = Michael Jackson

1 Ответов

Рейтинг:
4

Richard MacCutchan

Мы предложили ряд предложений в ваших предыдущих постах по этому же вопросу. Пожалуйста, вернитесь и просмотрите их, включая образцы кода. Если у вас есть конкретная проблема с любым предлагаемым решением, пожалуйста, напишите ответ на это сообщение и объясните, что не работает.

Кроме того, ваш код выше неверен:

while(fgets(string, STRING_LEN, fp1)){
    // you do not need an index value since you are only trying to print the first field of each line
    char* data = strtok(string, ",");
    printf("data = %s\n", data);
//    i++;
}


ibilalkayy

Спасибо, Ричард!