#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<fstream>
#define N 100
using namespace std;
int main()
{
char array[N];
int DigitArray[N];
ifstream first("all.txt");
first.getline(array,N);
cout << array;
int i;
for(i=0;i<n;i++)>!=' ')
DigitArray=atoi(&array);
}
cout << endl;
for(i=0;i<n;i++)>!=0)
cout << DigitArray << " ";
}
first.close();
system("PAUSE>null");
return 0;
}
Другие языки программирования и технологии
Как в С++ правильно преобразовать массив char в int?Как подправить код?
Непонятно, зачем тебе это преобразование и что из чего ты хочешь получить. Преобразовывать можно по-разному. for(i=0;i< N;i++)DigitArray[ i]=array[ i]; преобразует коды, хранящиеся в char, в коды int, но у меня есть подозрение, что ты хочешь записать в массив DigitArray числа, цифровые обозначения которых хранятся в массиве array. Тогда все иначе и зависит от формата хранения этих чисел в array.
Если файл хранит только числа целого типа, то возможен такой вариант решения.. .
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main() {
ifstream ifs;
ifs.open("numbers.txt", ifstream::in);
if (ifs.is_open()) {
int next;
vector<int> numbers;
while (!ifs.eof()) {
ifs >> next;
numbers.push_back(next);
}
ifs.close();
size_t size = numbers.size();
for (rsize_t n = 0; n < size; n++) cout << numbers.at(n) << ' ';
cout << endl;
} else {
locale::global(locale(""));
cout << " Файл numbers.txt не существует по указанному адресу! \n";
}
cin.get();
return 0;
}
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main() {
ifstream ifs;
ifs.open("numbers.txt", ifstream::in);
if (ifs.is_open()) {
int next;
vector<int> numbers;
while (!ifs.eof()) {
ifs >> next;
numbers.push_back(next);
}
ifs.close();
size_t size = numbers.size();
for (rsize_t n = 0; n < size; n++) cout << numbers.at(n) << ' ';
cout << endl;
} else {
locale::global(locale(""));
cout << " Файл numbers.txt не существует по указанному адресу! \n";
}
cin.get();
return 0;
}
Ну, конечно же, не так. Краб прав, из вопроса не очень понятно, что именно во что именно вы хотите преобразовать. Если ты хочешь преобразовать массив символов в массив кодов этих символов в формате int, то надо делать так, как пишет Краб. Если в символьном массиве содержится какое-то одно число, которое надо преобразовать в формат int, тогда никакого цикла тут вообще не нужно, но тогда и результат будет в виде одного числа, а не в виде массива. Если каждый символ надо преобразовать в однозначное число, тогда что-то вроде этого:
for(int i=0;i<n;i++)
DigitArray [ i ] = array [ i ] - '0';
Если в символьном массиве несколько чисел, разделённых определённым разделителем, каждое из которых надо преобразовать в число, то сначала надо выделить каждое из этих чисел, а зачем преобразовать его в int.
for(int i=0;i<n;i++)
DigitArray [ i ] = array [ i ] - '0';
Если в символьном массиве несколько чисел, разделённых определённым разделителем, каждое из которых надо преобразовать в число, то сначала надо выделить каждое из этих чисел, а зачем преобразовать его в int.
А не надо ничего преобразовывать. Поток first сам знает, как из файла получить числа. Нужно только написать, что читаем целые.
Я уже писал, как это делается.
Я уже писал, как это делается.
Я в С++ почти не разбираюсь, но ИМХО, если надо сменить тип, то надо указывать в значении переменной.
Похожие вопросы
- с++ внутри. Как из int преобразовать в char и *char и обратно. И есть ли аналог функций switch(a) где a не char a int?
- Помогите с информатикой!!! Кто понимает? Нужно преобразовать массив. (написать программу на паскале).
- Задача на массивы двумерные помогите доделать на C#,код прикрепляю и задачу
- C++ весь код находится внутри int main(int argc, char* pszArgs[]) { }
- C++ как переменную (signed int) разделить на старший и младший байт, а после записать в 2е другие переменные типа char?
- C++ Про выбор типа данных. Int, char и т. д.
- Вывести название массива с помощью char, C++
- Нужно подправить программу в Pascal на одномерные массивы.
- Информатика. Программирование. Обработка массивов данных. Помогите составить алгоритм и прог. код к нему.
- Сортировка обменами. Массивы (корректировать код с++)