C语言中,如何从文件中以;为分界读取数字

来源:百度知道 编辑:UC知道 时间:2024/06/11 08:09:15
例如,file.txt文件中有:
123;12;546;1235415;
这么一行数字
从文件读取后存入a[i],用for循环
结果a[1]=123,a[2]=12,a[3]=546,a[4]=1235315

有个C++ 的
改一下就好:
#include<iostream.h>
#include<fstream.h>
using namespace std;

void test_read() {
int s=0, i=0;
bool ischar = false;

int a[11];

ifstream fs("d:\\test.txt");
char c;
while (fs.get(c)) {
if ((c<90&&c>65)||(c<122&&c>97))
{
ischar = true;
// nothing to do
} else {
if (c<=57&&c>=48) {
s*=10;
int i=c-48;
s+=i*10;
ischar = false;
} else {
if(!ischar)
{
a[i++]=s/10;
}
s=0;
}
}
}
if(!fs.get(c))
{
a[i++]=s/10;
}
int j=i-1;

for (i=0; i<j; i++) {
cout<<a[i]<<" ";
}
}

int main() {
test_read();
return 0;
}

你可以用ASCII码进行识别.