我想将文本文件中的行读入二维字符数组但没有换行符。
.txt 示例:
TCAGC
GTAGA
AGCAG
ATGTC
ATGCA
ACAGA
CTCGA
GCGAC
CGAGC
GCTAG
...
到目前为止,我有:
ifstream infile;
infile.open("../barcode information.txt");
string samp;
getline(infile,samp,',');
BARCLGTH = samp.length();
NUMSUBJ=1;
while(!infile.eof())
{
getline(infile,samp,',');
NUMSUBJ++;
}
infile.close(); //I read the file the first time to determine how many sequences
//there are in total and the length of each sequence to determine
//the dimensions of my array. Not sure if there is a better way?
ifstream file2;
file2.open("../barcode information.txt");
char store[NUMSUBJ][BARCLGTH+1];
for(int i=0;i<NUMSUBJ;i++)
{
for(int j=0;j<BARCLGTH+1;j++)
{
store[i][j] = file2.get();
}
}
但是,我不知道如何忽略换行符。我希望对数组进行索引,以便我可以访问具有第一个索引的序列,然后访问该序列中具有第二个索引的特定字符;即 store[0][0] 会给我'T',但我不希望 store[0][5] 给我'\n'。
另外,顺便说一句,由于 BARCLGTH 为 5,我认为应该超出范围的 store[0][6] 返回 'G',store[0][7] 返回'T',store[0][8 ] 返回“A”等。这些是下一行的字符。或者,store[1][0]、store[1][1] 和 store[1][2] 也返回相同的值。为什么第一组返回值不应该超出范围?