请问C++怎么读入TXT文件?(详)

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:22:42
txt里面是:

Ip: 111.112.113.114

(随便在哪行出现Ip都会读入)
读了后把111.112.113.114转为unsigned char tyu[]
就是tyu[1]=111 tyu[2]=112 tyu[3]=113 tyu[4]=114

请问具体怎么实现?Help Me!!!!
出现// 就会屏蔽掉这一行

以下程序C和C++都可以使用(假定TXT文件名是IP.txt)
> 就是tyu[1]=111 tyu[2]=112 tyu[3]=113 tyu[4]=114
应该是tyu[0]=111 tyu[1]=112 tyu[2]=113 tyu[3]=114

链接库要指定wsock32.lib(DEVC++/GCC/MINGW要指定libwsock32.a)
如不想使用inet_addr(), 也可以将IP地址字串分段后分别用atol()转换到tyu[i]中去。

#include <stdio.h>
#include <string.h>
#include <winsock.h>

int main()
{
char buf[256];
unsigned char tyu[4];
FILE *ftxt = fopen("ip.txt", "r");
if (ftxt)
{
while (fgets(buf, 256, ftxt))
{
if (strnicmp(buf, "IP:", 3)==0) //如果以"IP:"开头,不分大小写
{
char *s = buf;
while (*s && *s!='\n') ++s;
*s = '\0'; //把行尾的换行符去掉
*(unsigned long *)tyu = inet_addr(buf+4);
printf("读入 %s\n转换 %u.%u.%u.%u\n", buf, tyu[0], tyu[1], tyu[2], tyu[3]);
}
}
fcl