мой файл input.txt:Как проверить пустые линии?
4
4
5 0 1 2
1 4 0 0
1 1 5 4
0 6 3 2
0 4 1 2
1 7 5 0
2 3 5 6
0 6 2 2
1:0 4 2 0
моя программа сейчас:
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <sstream>
using namespace std;
int main()
{
ifstream File("input.txt");
string line;
string num;
string array[50];
string comma;
int i=0;
while (getline(File,line)) {
comma="";
istringstream s(line);
if (line.empty()){
comma=",";
s >> num ;
array[i] = comma;
}
else {
s >> num ;
array[i] = num;
}
i++;
}
return 0;
}
хорошо, моя программа не дает мне то, что я хочу! когда я печатаю массив [i], он дает мне только числа в первом столбце! как это:
4
,
4
,
5
3
1
7
,
0
1
2
6
,
1:0
то, что я хочу сделать, это поставить запятую, где когда-либо есть пустая строка, так что я могу различать между этими числами и хранить их внутри intger массива сделать математические операции между ними.
объяснить мой input.txt файл:
число и размер матрицы внутри входного файла может быть изменен мной.
4 <= #number of items
4 <= #types of items
5 0 1 2 <= matrix #1
1 4 0 0
1 1 5 4
0 6 3 2
0 4 1 2 <= matrix #2
1 7 5 0
2 3 5 6
0 6 2 2
1:0 4 2 0 <= Available numbers for item #1
и я хочу:
магазин число элементов внутри переменной.
хранить типы предметов внутри переменной.
магазин матрица # 1 и матрица # 2 внутри 2 массивов и делать Вычитание между матрицей # 1 и # 2 матрицы.
Это можно сделать? или есть ли более простой способ различать эти числа и хранить их внутри переменных и межсетевого массива?
Может ваши входные линии прекращается в '\ r \ n' (т. е. окончания строки Windows)? – clcto
Вы говорите, что это не дает вам то, что вы хотите, но вы не говорите, что это ** дает вам. Я подозреваю, что проблема заключается в том, что вы никогда не очищаете 'comma', поэтому после ее установки вы в конечном итоге помещаете запятую после всех последующих строк (пустой или нет). Если это ваша проблема, добавьте 'else {comma =" "}' в ваш оператор 'if'. Если нет, то вам нужно будет добавить детали к вопросу. –
@clcto жаль, что я не очень хорошо очищал свою проблему, я редактировал свой пост, надеясь, что он станет более ясным для вас сейчас? – Rsalm