Проверка string на число - C (СИ)

Формулировка задачи:

Здравствуй, форумчанин! У меня есть string с данными. Файл: 12 2 пыфрп 145 512 прфы 42 ап Вот. Как мне сделать проверку каждой строки? Мне нужно посмотреть, в данной строке находится цифра, или слово. я считал эти данные из файла. Стринг я не могу проверить по аски коду. Есть ли еще способы?
int main () 
{
  string line;
  int count = 0;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while ( myfile.good() )
    {
      getline (myfile,line);
      cout << line << endl;
      if(line >= '0' && line <= '9')  // error
      {
          count ++;
      }
    }
    myfile.close();
  }
 
  else cout << "Unable to open file";
  cout << count;
 
  _getch();
  return 0;
}
Добавлено через 1 час 20 минут переделал на char как проверить, является строка числом?
int main () 
{
  const int charlength = 1024;
  char buffer[charlength];
  int count = 0;
  FILE *myfile = fopen ("example.txt", "r");
  if (myfile)
  {
    while ( !feof(myfile) )
    {
      fgets (buffer, charlength , myfile);
      printf(buffer);
      if (buffer) count++; 
    }
  }
 
    else printf ("Unable to open file");
 
    printf("\r\n%d", count);
 
  _getch();
  return 0;
}


textual

Код к задаче: «Проверка string на число - C (СИ)»

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
#define CHARLEN 1024
 
int isNum(char *str) {
    int i = 0;
    int rez = 1;
    if (isdigit(*str) || *str == '+' || *str == '-') {
        for (i = 1; i < strlen(str) && str[i] != '\n'; ++i) {
            if (!isdigit(str[i])) {
                rez = 0;
                break;
            }
        }
    } else
        rez = 0;
    return rez;
}
 
int main() {
    char buffer[CHARLEN];
    int count = 0;
    FILE *myfile = fopen("ex.txt", "r");
    if (myfile) {
        while (fgets(buffer, CHARLEN, myfile)) {
            printf("Loaded => %s", buffer);
            if (buffer[0] != '\r' && buffer[0] != '\n')
                count++;
            if (isNum(buffer))
                printf("--> is num\n");
        }
    }
//
    else
        printf("Unable to open file");
 
    printf("\r\n%d", count);
    return 0;
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

8   голосов, оценка 3.750 из 5

Источник