行數已知,列數未知。
uj5u.com熱心網友回復:
例如:12.03,515.04,117.9,52.79,13.58
18.03,415.04,217.9,42.79,23.58
11.03,315.04,317.9,32.79,33.58
1.03,215.04,417.9,22.79,43.58
32.03,115.04,517.9,12.79,53.58
uj5u.com熱心網友回復:
做不到必須明確多少列
反而行數可以不直接確定
uj5u.com熱心網友回復:
#include <iostream>
#include <cstring>
#include<string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> splitString(const char* str, char token)
{
vector<string> result;
const char* p = strchr(str, token);
const char* start = str;
while (p != nullptr)
{
size_t size = p - start;
char* tmp = new char[size + 1];
tmp[size] = '\0';
memcpy(tmp, start, size);
result.push_back(string(tmp));
delete[] tmp;
p++;
start = p;
p = strchr(p, token);
}
result.push_back(string(start));
return result;
}
int main() {
char str[] = "1.2,1.3,1.4";
vector<string> arr = splitString(str, ',');
std::for_each(arr.begin(), arr.end(), [](const string& n) {cout << n << " " << endl; });
return 0;
}
uj5u.com熱心網友回復:
最簡單的方法,找個csv庫uj5u.com熱心網友回復:
借用3樓部分代碼省事,剛好回復了一個讀文本的,直接修改過來,就算是不知道任何行列都沒關系,就是資料后面都要有逗號。
uj5u.com熱心網友回復:
回復挺好的 就是都沒注意到要求存在二維陣列里面現在保存資料的是string 和二維陣列沒什么關系
如果只是讀資料輸出
那太簡單了
uj5u.com熱心網友回復:
cout << ends 是錯誤的做法各位新手注意不要學
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/100348.html
標籤:C++ 語言
