将N位数的连续行读取为整数数组,每个数字位于单个数组位置

时间:2014-07-08 18:06:34

标签: c arrays file-io

我的文件在每一行都有一个9位数字,我想逐行提取每个数字并尝试将它存储在一个整数数组中,每个数组位于每个数组位置。

我试过了,

while((fgets ( sequence, 9, loose ) != NULL)) {
    if((sequence[0]-'0')==1)
        count(sequence[1]-'0');
    else
        break;
}

将每一行复制到一个名为sequence的数组,然后将其转换为sequence[0]-'0'的数字,但它似乎不能正常工作;它返回一些随机数值并丢失我所需文件的文件描述符。

我的文件看起来像这样 123456789 123456798 123456879 123456897 123456978

我只想将第一行存储为 序列[0] = 1,序列[1] = 2,... 然后在序列[]上写下下一行文本,依此类推 直到文件结尾

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,我建议您接受每行输入作为两个维度字符数组的字符串。这样,您可以使用列中的每个数字将每个数字放在自己的行中。如果需要,我可以给你代码,但这非常简单。

注意 - 您可以将字符转换回整数以进行进一步操作

编辑 - 添加了代码

with open('/root/text.txt') as f:
    number = f.readlines()
number = [x.strip('\n') for x in number]
print number

打印的数字是一个列表。

number [0]将为您提供文件中的第一个数字(123456789)

数字[0] [0]会给你1。

int(number [0])可以给你整数123456 ...而不是相应的字符串。

编辑2 - 哎呀。刚刚意识到我给了你python代码: - \