Я хочу заменить все регистры ",," в строке из CSV-файла на ", -1,".До этого идентификатора также нравилось добавлять запятую в конец строки.
Я пытался получить ее, разбивая строку на две подстроки, одну из вещей перед ,, и одну послезатем объединяю их, но я, вероятно, испортил то, на что указывает каждая вещь.
Также перед этой операцией я хотел бы добавить дополнительную запятую в конце файла, чтобы, если в конце также было пропущено значение, о котором позаботились.
//Get line from file
char line[70];
fgets(line, 70, infile);
//Add "," to the end of the line
char * temp;
temp = strstr(line, "/n");
strncpy(temp, ",/n", 2);
puts(line);
//Process Line
while (strstr(line, ",,") != NULL) {
char * temp;
char endTemp[50];
temp = strstr(line, ",,");
strcpy(endTemp, temp + 2);
strncpy(temp, ",-1,", 4);
strcat(temp, endTemp);
puts(line);
}
Я думаю, что перепутал две подстроки, которые я вытащил из строки, так как, если начальная строка имеет вид:
ajd43,232,, 0,0, 0,3
печатает
ajd43,232, -1,0,0,0,3, (/ n) 0,0,0,3
Я думаю, что ошибка в конце strcat, но если это более простой способ сделать эту операцию, я бы хотел использовать это.