Я пытаюсь получить данные из файла. Файл содержит целочисленные данные в каждой строке. Длина данных варьируется в каждой строке. В то время как я получаю доступ к каждой строке с fgets()
, я получаю строку в строковом формате. Я хочу получить доступ к 3 символам строки каждый раз, пока не появится символ новой строки (\n
).
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char* argv[])
{
int k,a;
char res[300] = "";
char buff[1026];
FILE *ip,*op;
ip = fopen(argv[1],"r");
op= fopen(argv[2],"w+");
if( ip == NULL)
{
perror("An error has occurred\n");
exit(1);
}
while(fgets(buff, sizeof(buff), fp))
{ i=0;
int len = sizeof(buff) / sizeof(buff[0]);
Теперь у баффа есть первая строка файла в виде строки. Я хочу использовать для l oop, чтобы каждый раз получать 3 символа строки до \n
, затем моя программа переместится на следующую строку.
Я скорее парень Python и в Python я могу сделать это, используя для l oop и доступа к индексу [i:i+2]
. Это даст мне 3 индекса каждый раз, я не уверен, как это сделать в C. Может быть, я могу взять другую строку (S1
) и перебирать buff
для 3 символов каждый раз и добавлять 3 символа в новую строку. Затем я сделаю мои проверки и инициализирую строку S1
для следующей итерации. Это выглядит немного грязно.
Есть ли другой хороший способ сделать это? Пожалуйста, помогите.