我尝试编写一个C脚本,可以将逗号分隔的空格解释为零,然后移植到我正在处理的程序中。该程序将读取CSV文件,该文件在单词和数字之间使用逗号。
我想将单词与数字分开,并将它们放在两个单独的缓冲区中,以便稍后使用scanf语句进行读取。
截至目前,我在编译和运行脚本时得到了这个:
Frank (0 Value) John (0 Value) sir (0 Value) 45 (45 Value) 21 (21 Value) -- (0 Value) 79 (79 Value)
我只想要左栏中的单词和右栏中的数字。没有必要打印,但分成两个缓冲区。
<stdio.h>
int main()
{
char buffer_lines[] = "Frank,John,sir,45,21,,79"; //read, sort, read, sort, use only 2D array
char sub_buffer_lines[20] = "";
int subindex = 0;
int i=0;
int j = 0;
while(j == 0) {
if(buffer_lines[i] != ',' && buffer_lines[i] != '\0') {
sub_buffer_lines[subindex] = buffer_lines[i];
sub_buffer_lines[subindex + 1] = '\0';
subindex++;
}
else{
sub_buffer_lines[subindex] = '\0';
int value = 0;
if(0 != subindex)
{
value = atoi(sub_buffer_lines);
}
printf("\n%s", sub_buffer_lines);//only for names
printf(" %d Value", value);//only for numbers
subindex = 0;
}
if(buffer_lines[i]=='\0'){
j = 1;
}
i++;
}
return 0;
}
答案 0 :(得分:0)
想想当你得到&#39;时需要做什么。您可能必须添加其他内容,而不是仅仅停留在其他位置。