整数を含むテキストファイルを整数配列に読み込もうとしています。 入力が次の場合:1 3 4 5 6 (間にスペースを入れてください)正常に動作しています。コンマ区切りファイルを整数配列に読み込む
入力が:1,3,4,5,6(カンマ区切り).1だけを印刷します(最初の数字)。プログラムが1,3,4,5,6を単一のものとして検出した場合エンティティの最初のインデックスとして 1,3,4,5,6を印刷する必要がありますか? また、File >> xの間にスペースを検出することで、この式は値を1つずつ取りますか?
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
int n = 0; //n is the number of the integers in the file ==> 12
int num;
int arr[100];
int x;
int sum = 0;
ifstream File;
File.open("integer.txt");
if(!File.is_open())
{
cout<<"It failed"<<endl;
return 0;
}
while(File>>x)
{
arr[n] = x;
n++;
}
File.close();
cout<<"n : "<<n<<endl;
for(int i=0;i<n;i++)
{
cout << arr[i] << " ";
}
return 0;
}
ptr + = count + 1はデリミタをスキップすることです – KingOfWigs
なぜこれをダウンリストに追加してください? – KingOfWigs
OPはCではなくC++を使用しており、 'sscanf'は危険で型が危険です。また、別のマジックナンバー配列 'char line [200]'を追加しました。不必要に複雑なポインタ変数でコードを複雑にし、 'getline'メンバ関数を使用しました。 –