C++实现在文本中找出某个单词的位置信息

代码很简单,功能也很单一,这里就不多废话了,大家直接看代码吧。

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

int main(int argc,char**argv){
  char *token = argv[1];
  FILE *fp = fopen("./test.txt","a+");
  char buf[1024];
  char *p;
  int s=-1,len=strlen(token),line=0,pos=-1;

  while(!feof(fp)){
    fgets(buf,sizeof(buf),fp);
    line ++;
    p = buf;
    while(*p){
      if(*p==token[0] && s==-1){
        s = 0;
      }else if(*p==token[s+1]){
        s ++;
      }else{
        s = -1;
      }

      p++;
      if(s==len-1){
        printf("(%d,%d)\n",line,p-buf-len+1);
        s=-1;
      }
    }
    s=-1;
  }
}
(0)

相关推荐

  • VC++在TXT文件指定位置追加内容的方法

    本文实例讲述了VC++操作文本文件的方法,实现在txt文件指定位置插入内容.对于VC++爱好者有一定的学习参考价值. 主要功能代码如下: void CGoToFileDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon

  • C++的static关键字及变量存储位置总结

    今天看博文时,看到了c++的static关键字的一些总结,还涉及到了一些代码的存储位置,为了有时间的时候能够看一下,还是自己把它给摘抄下来吧. C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 一.面向过程设计中的static 1.静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量.我们先举一个静态全局变量的例子,如下: 复制代码 代码

  • C++实现在文本中找出某个单词的位置信息

    代码很简单,功能也很单一,这里就不多废话了,大家直接看代码吧. #include <stdio.h> #include <string.h> int main(int argc,char**argv){ char *token = argv[1]; FILE *fp = fopen("./test.txt","a+"); char buf[1024]; char *p; int s=-1,len=strlen(token),line=0,po

  • python实现从字符串中找出字符1的位置以及个数的方法

    本文实例主要实现给出任意字符串,获取字符串中某字符的位置以及出现的总次数. 实现该功能代码的时候可以使用函数enumerate来将字符串分离成位置和字符,然后进行比较即可. 具体实现代码如下: #!/bin/env python #-*- coding:utf-8 -*- # """ 用enumerate将string中的1都找出来, 用enumerate实现: """ def get_1_pos(string): onePos=[] try:

  • python实现从一组颜色中找出与给定颜色最接近颜色的方法

    本文实例讲述了python实现从一组颜色中找出与给定颜色最接近颜色的方法.分享给大家供大家参考.具体分析如下: 这段代码非常有用,可以找到指定颜色相似的颜色,比如有一组8个颜色,现在给定一个rgb格式的演示,找出它与8个颜色中的哪一个最接近,如果你需要做一个按照图片颜色搜索图片的程序,这个就非常有用了. 复制代码 代码如下: from colorsys import rgb_to_hsv colors = dict(( ((196, 2, 51), "RED"), ((255, 165

  • 如何在二叉树中找出和为某一值的所有路径

    代码如下所示,不足之处,还望指正! 复制代码 代码如下: // BinaryTree.cpp : 定义控制台应用程序的入口点.//C++实现链式二叉树,在二叉树中找出和为某一值的所有路径#include "stdafx.h"#include<iostream>#include<string>#include <stack>using namespace std;static int sum(0);static int count(0);templat

  • Java实现从字符串中找出数字字符串的方法小结

    本文实例总结了Java实现从字符串中找出数字字符串的方法.分享给大家供大家参考,具体如下: int start = 0; String numStr = null; for (int j = 0; j < valuesStr.length() - 1; j++) { if (Character.isDigit(valuesStr.charAt(j)) == false && Character.isDigit(valuesStr.charAt(j + 1)) == true) { s

  • 字符串中找出连续最长的数字字符串的实例代码

    复制代码 代码如下: //1. 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) //功能: //在字符串中找出连续最长的数字串,并把这个串的长度返回, //并把这个最长数字串付给其中一个函数参数outputstr所指内存. //例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789 #include<stdio.

  • 在Framework 4.0中:找出新增的方法与新增的类(二)

    问题描述:在Framework 4.0中:找出新增的方法与新增的类(一) 为什么动态加载程序集无法找出Framework 4.0 和Framwork2.0 新增的方法和类? 因为控制台程序默认就添加了Framework4.0的程序集,当你使用Object,Type,string这些类的时候就已经在使用已经加载的程序集了,而clr不会重复的去加载程序集??,这点记不清了.所以V2Assembly 和v4Assembly都是Framework4.0的Assembly. 验证: 复制代码 代码如下:

  • python中找出numpy array数组的最值及其索引方法

    在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where,其又是list没有的 首先我们可以得到array在全局和每行每列的最大值(最小值同理) >>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>&

  • Python 实现Numpy中找出array中最大值所对应的行和列

    Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法. 如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使用where方法即可返回最大值对应的行和列. where返回一个长度为2的元组,第一个元素保存的是行号,第二个元素保存的是列号. 以上这篇Python 实现Numpy中找出array中最大值所对应的行和列就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python3实现在二叉树中找出和为某一值的所有路径(推荐)

    请写一个程序创建一棵二叉树,并按照一定规则,输出二叉树根节点到叶子节点的路径. 规则如下: 1.从最顶端的根结点,到最下面的叶子节点,计算路径通过的所有节点的和,如果与设置的某一值的相同,那么输出这条路径上的所有节点. 2.从根节点遍历树时,请请按照左到右遍历,即优先访问左子树的节点. 二叉树创建规则:从上到下一层一层的,按照从左到右的顺序进行构造 输入"10,5,12,4,7"值,构造的树如下: 1) 10 2) 10       /     5 3) 10        /\   

随机推荐