Из файла в массив символов (MFC)

0

(Я использую Visual c++ 6.0, поэтому у меня нет CString :: Tokenize)
У меня есть текстовый файл со следующим текстом:

Conf1 Conf2 Conf3 Conf4
Conf5 Conf6 Conf7 Conf8
Conf9 Conf10 Conf11 Conf12

И я ищу лучший способ вставить текст в char []
То, что я пробовал (в CString str У меня есть весь текст из файла):

char *token;
char s[2]=" ";
token = strtok(str, s);   
while( token != NULL ) 
{
  myCharArray[I++]=token;    
  token = strtok(NULL, s);
}

Но я не могу "поймать" следующую строку (не знаю, как узнать, включает ли "Conf4" '\n')

  • 3
    По какой причине вы не можете просто использовать ifstream и vector string s? У VC ++ 6 нет стандартной библиотеки.
  • 3
    Вы пробовали char s[]=" \n"; ?
Показать ещё 4 комментария
Теги:
mfc
strtok

1 ответ

1
Лучший ответ

Это должно работать:

while (fgets(str, sizeof(str), libraryPtr) != NULL)
{
  if (str[0] != 0 && (str[strlen(str)-1] ='\n'))
    str[strlen(str)-1] = 0;

  char *token;
  char s[]=" ";
  token = strtok(str, s);   
  while( token != NULL ) 
  {
    myCharArray[I++]=strdup(token);
    token = strtok(NULL, s);
  }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню