Search Results

Search found 4616 results on 185 pages for 'strings'.

Page 23/185 | < Previous Page | 19 20 21 22 23 24 25 26 27 28 29 30  | Next Page >

  • Reading a text file, and performing actions based on strings read

    - by user1691766
    Let me start off by saying that I really am quite new to C. So basically I have a text file (contains around 30 assembly instructions, separated by new lines), and I am successfully reading them into my program. From here I need to perform certain actions based off each instruction. I would assume the best way to do this would be via a switch-case statement. However I am encountering a lot of problems due to me trying to compare strings that are 33 characters long. Can anyone please offer me advice on what I am doing wrong, or offer an alternative? Thanks in advance. Here is what I have so far: char instruction[29][ 33 ]; int i,run; i = 0; run = 1; FILE *instPtr; /* LOADING INSTRUCTIONS FROM FILE INTO "instruction" ARRAY*/ if ( ( instPtr = fopen("MIPSinstructions.txt", "r") ) == NULL ) { printf("File could not be opened\n"); } // end if else { fscanf( instPtr, "%s", instruction[0]); printf("%s\n", instruction[0]); while (!feof( instPtr ) ){ i++; fscanf( instPtr, "%s", instruction[i]); printf("%s\n", instruction[i]); } fclose( instPtr ); i = 0; // Reset the counter } //end else return 0; }

    Read the article

  • Comparing strings with user-created string class

    - by meepz
    Basically, I created my own string class, mystring.h and mystring.c. What I want to do is write a function that compares two "strings" and then returns 1 first word is larger than the second, the opposite if word 2 is larger than word 1, and 0 if the two words are equal. What I have so far is this: int compareto(void * S1, void * S2){ String s1 = (String S1); String s2 = (String S2); int i, cs1 = 0, cs2 = 0; //cs1 is count of s1, cs2 is count of s2 while(s1->c[i] != '\0'){ //basically, while there is a word if(s1->c[i] < s2->c[i]) // if string 1 char is less than string 2 char cs2++; //add to string 2 count else (s1->c[i] > s2->c[i]) //vice versa cs1++; i++; } for my return I basically have if(cs1>cs2){ return 1; } else if(cs2 > cs1){ return 2; } return 0; here is mystring.h typedef struct mystring { char * c; int length; int (*sLength)(void * s); char (*charAt)(void * s, int i); int (*compareTo)(void * s1, void * s2); struct mystring * (*concat)(void * s1, void * s2); struct mystring * (*subString)(void * s, int begin, int end); void (*printS)(void * s); } string_t; typedef string_t * String; This does what I want, but only for unspecified order. What I want to do is search through my linked list for the last name. Ex. I have two entries in my linked list, smith and jones; Jones will be output as greater than smith, but alphabetically it isnt. (I'm using this to remove student entries from a generic link list I created) Any suggestions, all of my google searches involve using the library, so I've had no luck)

    Read the article

  • SWIG & Java Use of carrays.i and array_functions for C Array of Strings

    - by c12
    I have the below configuration where I'm trying to create a test C function that returns a pointer to an Array of Strings and then wrap that using SWIG's carrays.i and array_functions so that I can access the Array elements in Java. Uncertainties: %array_functions(char, SWIGArrayUtility); - not sure if char is correct inline char *getCharArray() - not sure if C function signature is correct String result = getCharArray(); - String return seems odd, but that's what is generated by SWIG SWIG.i: %module Test %{ #include "test.h" %} %include <carrays.i> %array_functions(char, SWIGArrayUtility); %include "test.h" %pragma(java) modulecode=%{ public static char[] getCharArrayImpl() { final int num = numFoo(); char ret[] = new char[num]; String result = getCharArray(); for (int i = 0; i < num; ++i) { ret[i] = SWIGArrayUtility_getitem(result, i); } return ret; } %} Inline Header C Function: #ifndef TEST_H #define TEST_H inline static unsigned short numFoo() { return 3; } inline char *getCharArray(){ static char* foo[3]; foo[0]="ABC"; foo[1]="5CDE"; foo[2]="EEE6"; return foo; } #endif Java Main Tester: public class TestMain { public static void main(String[] args) { System.loadLibrary("TestJni"); char[] test = Test.getCharArrayImpl(); System.out.println("length=" + test.length); for(int i=0; i < test.length; i++){ System.out.println(test[i]); } } } Java Main Tester Output: length=3 ? ? , SWIG Generated Java APIs: public class Test { public static String new_SWIGArrayUtility(int nelements) { return TestJNI.new_SWIGArrayUtility(nelements); } public static void delete_SWIGArrayUtility(String ary) { TestJNI.delete_SWIGArrayUtility(ary); } public static char SWIGArrayUtility_getitem(String ary, int index) { return TestJNI.SWIGArrayUtility_getitem(ary, index); } public static void SWIGArrayUtility_setitem(String ary, int index, char value) { TestJNI.SWIGArrayUtility_setitem(ary, index, value); } public static int numFoo() { return TestJNI.numFoo(); } public static String getCharArray() { return TestJNI.getCharArray(); } public static char[] getCharArrayImpl() { final int num = numFoo(); char ret[] = new char[num]; String result = getCharArray(); System.out.println("result=" + result); for (int i = 0; i < num; ++i) { ret[i] = SWIGArrayUtility_getitem(result, i); System.out.println("ret[" + i + "]=" + ret[i]); } return ret; } }

    Read the article

  • Strange behavior of move with strings

    - by Umair Ahmed
    I am testing some enhanced string related functions with which I am trying to use move as a way to copy strings around for faster, more efficient use without delving into pointers. While testing a function for making a delimited string from a TStringList, I encountered a strange issue. The compiler referenced the bytes contained through the index when it was empty and when a string was added to it through move, index referenced the characters contained. Here is a small downsized barebone code sample:- unit UI; interface uses System.SysUtils, System.Types, System.UITypes, System.Rtti, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Layouts, FMX.Memo; type TForm1 = class(TForm) Results: TMemo; procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.fmx} function StringListToDelimitedString ( const AStringList: TStringList; const ADelimiter: String ): String; var Str : String; Temp1 : NativeInt; Temp2 : NativeInt; DelimiterSize : Byte; begin Result := ' '; Temp1 := 0; DelimiterSize := Length ( ADelimiter ) * 2; for Str in AStringList do Temp1 := Temp1 + Length ( Str ); SetLength ( Result, Temp1 ); Temp1 := 1; for Str in AStringList do begin Temp2 := Length ( Str ) * 2; // Here Index references bytes in Result Move ( Str [1], Result [Temp1], Temp2 ); // From here the index seems to address characters instead of bytes in Result Temp1 := Temp1 + Temp2; Move ( ADelimiter [1], Result [Temp1], DelimiterSize ); Temp1 := Temp1 + DelimiterSize; end; end; procedure TForm1.FormCreate(Sender: TObject); var StrList : TStringList; Str : String; begin // Test 1 : StringListToDelimitedString StrList := TStringList.Create; Str := ''; StrList.Add ( 'Hello1' ); StrList.Add ( 'Hello2' ); StrList.Add ( 'Hello3' ); StrList.Add ( 'Hello4' ); Str := StringListToDelimitedString ( StrList, ';' ); Results.Lines.Add ( Str ); StrList.Free; end; end. Please devise a solution and if possible, some explanation. Alternatives are welcome too.

    Read the article

  • Searching strings C

    - by Skittles
    First time posting here so I'm sorry if I mess up. I need to search a string and return any strings containing the search data with the search data highlighted. If my string is Hi my name is and I searched name it would produce Hi my NAME is This is a quick code I wrote that works but it only works once. If I try and search again it seg faults. I was hoping someone could hint me at a better way to write this because this code is disgusting! void search(char * srcStr, int n){ int cnt = 0, pnt,i = 0; char tmpText[500]; char tmpName[500]; char *ptr, *ptr2, *ptrLast; int num; while(*(node->text+cnt) != '\0'){ //finds length of string cnt++; } for(pnt = 0; pnt < cnt; pnt++){ //copies node->text into a tmp string tmpText[pnt] = *(node->text+pnt); } tmpText[pnt+1] = '\0'; //prints up to first occurrence of srcStr ptr = strcasestr(tmpText, srcStr); for(num = 0; num < ptr-tmpText; num++){ printf("%c",tmpText[num]); } //prints first occurrence of srcStr in capitals for(num = 0; num < n; num++){ printf("%c",toupper(tmpText[ptr-tmpText+num])); } ptr2 = strcasestr((ptr+n),srcStr); for(num = (ptr-tmpText+n); num < (ptr2-tmpText); num++){ printf("%c",tmpText[num]); } while((ptr = strcasestr((ptr+n), srcStr)) != NULL){ ptr2 = strcasestr((ptr+n),srcStr); for(num = (ptr-tmpText+n); num < (ptr2-tmpText); num++){ printf("%c",tmpText[num]); } for(num = 0; num < n; num++){ printf("%c",toupper(tmpText[ptr-tmpText+num])); } ptrLast = ptr; } //prints remaining string after last occurrence for(num = (ptrLast-tmpText+n); num < cnt; num++){ printf("%c",tmpText[num]); } }

    Read the article

  • Concat wchar_t Unicode strings in C?

    - by Doori Bar
    I'm a beginner, I play with FindFirstFileW() of the winapi - C. The unicoded path is: " \\?\c:\Français\", and I would like to concat "*" to this path of type wchar_t (then I will use it as an arg for FindFirstFileW()). I made two test cases of mine, the first is ansi_string() which seem to work fine, the second is unicode_string() - which I don't quite understand how should I concat the additional "*" char to the unicoded path. I write the strings to a file, because I'm not able to print Unicoded characters to stdout. Note: my goal is to learn, which means I'll appreciate guidance and references to the appropriate resources regards my scenario, I'm very much a beginner and this is my first attempt with Unicode. Thanks, Doori Bar #include <stdio.h> #include <stdlib.h> #include <wchar.h> #include <string.h> #include <errno.h> void *error_malloc(int size); void ansi_string(char **str1, char **str2); void unicode_string(wchar_t **wstr1, wchar_t **wstr2); void unicode_string(wchar_t **wstr1, wchar_t **wstr2) { /* assign wstr1 with the path: \\?\c:\Français\ */ *wstr1 = error_malloc((wcslen(L"\\\\?\\c:\\Français\\")+1) *sizeof(**wstr1)); wcscpy(*wstr1,L"\\\\?\\c:\\Français\\"); /* concat wstr1+"*" , assign wstr2 with: \\?\c:\Français\* */ *wstr2 = error_malloc((wcslen(*wstr1) + 1 + 1) * sizeof(**wstr1)); /* swprintf(*wstr2,"%ls*",*wstr1); */ /* how should I concat wstr1+"*"? */ wcscpy(*wstr2,L"\\\\?\\c:\\Français\\"); } void ansi_string(char **str1, char **str2) { /* assign str1 with the path: c:\English\ */ *str1 = error_malloc(strlen("c:\\English\\") + 1); strcpy(*str1,"c:\\English\\"); /* concat str1+"*" , assign str2 with: c:\English\* */ *str2 = error_malloc(strlen(*str1) + 1 + 1); sprintf(*str2,"%s*",*str1); } void *error_malloc(int size) { void *ptr; int errornumber; if ((ptr = malloc(size)) == NULL) { errornumber = errno; fprintf(stderr,"Error: malloc(): %d; Error Message: %s;\n", errornumber,strerror(errornumber)); exit(1); } return ptr; } int main(void) { FILE *outfile; char *str1; char *str2; wchar_t *wstr1; wchar_t *wstr2; if ((outfile = fopen("out.bin","w")) == NULL) { printf("Error: fopen failed."); return 1; } ansi_string(&str1,&str2); fwrite(str2, sizeof(*str2), strlen(str2), outfile); printf("strlen: %d\n",strlen(str2)); printf("sizeof: %d\n",sizeof(*str2)); free(str1); free(str2); unicode_string(&wstr1,&wstr2); fwrite(wstr2, sizeof(*wstr2), wcslen(wstr2), outfile); printf("wcslen: %d\n",wcslen(wstr2)); printf("sizeof: %d\n",sizeof(*wstr2)); free(wstr1); free(wstr2); fclose(outfile); return 0; }

    Read the article

  • Java Program help [migrated]

    - by georgetheevilman
    Okay I have a really annoying error. Its coming from my retainAll method. The problem is that I am outputting 1,3,5 in ints at the end, but I need 1,3,5,7,9. Here is the code below for the MySet and driver classes public class MySetTester { public static void main(String[]args) { MySet<String> strings = new MySet<String>(); strings.add("Hey!"); strings.add("Hey!"); strings.add("Hey!"); strings.add("Hey!"); strings.add("Hey!"); strings.add("Listen!"); strings.add("Listen!"); strings.add("Sorry, I couldn't resist."); strings.add("Sorry, I couldn't resist."); strings.add("(you know you would if you could)"); System.out.println("Testing add:\n"); System.out.println("Your size: " + strings.size() + ", contains(Sorry): " + strings.contains("Sorry, I couldn't resist.")); System.out.println("Exp. size: 4, contains(Sorry): true\n"); MySet<String> moreStrings = new MySet<String>(); moreStrings.add("Sorry, I couldn't resist."); moreStrings.add("(you know you would if you could)"); strings.removeAll(moreStrings); System.out.println("Testing remove and removeAll:\n"); System.out.println("Your size: " + strings.size() + ", contains(Sorry): " + strings.contains("Sorry, I couldn't resist.")); System.out.println("Exp. size: 2, contains(Sorry): false\n"); MySet<Integer> ints = new MySet<Integer>(); for (int i = 0; i < 100; i++) { ints.add(i); } System.out.println("Your size: " + ints.size()); System.out.println("Exp. size: 100\n"); for (int i = 0; i < 100; i += 2) { ints.remove(i); } System.out.println("Your size: " + ints.size()); System.out.println("Exp. size: 50\n"); MySet<Integer> zeroThroughNine = new MySet<Integer>(); for (int i = 0; i < 10; i++) { zeroThroughNine.add(i); } ints.retainAll(zeroThroughNine); System.out.println("ints should now only retain odd numbers" + " 0 through 10\n"); System.out.println("Testing your iterator:\n"); for (Integer i : ints) { System.out.println(i); } System.out.println("\nExpected: \n\n1 \n3 \n5 \n7 \n9\n"); System.out.println("Yours:"); for (String s : strings) { System.out.println(s); } System.out.println("\nExpected: \nHey! \nListen!"); strings.clear(); System.out.println("\nClearing your set...\n"); System.out.println("Your set is empty: " + strings.isEmpty()); System.out.println("Exp. set is empty: true"); } } And here is the main code. But still read the top part because that's where my examples are. import java.util.Set; import java.util.Collection; import java.lang.Iterable; import java.util.Iterator; import java.util.Arrays; import java.lang.reflect.Array; public class MySet implements Set, Iterable { // instance variables - replace the example below with your own private E[] backingArray; private int numElements; /** * Constructor for objects of class MySet */ public MySet() { backingArray=(E[]) new Object[5]; numElements=0; } public boolean add(E e){ for(Object elem:backingArray){ if (elem==null ? e==null : elem.equals(e)){ return false; } } if(numElements==backingArray.length){ E[] newArray=Arrays.copyOf(backingArray,backingArray.length*2); newArray[numElements]=e; numElements=numElements+1; backingArray=newArray; return true; } else{ backingArray[numElements]=e; numElements=numElements+1; return true; } } public boolean addAll(Collection<? extends E> c){ for(E elem:c){ this.add(elem); } return true; } public void clear(){ E[] newArray=(E[])new Object[backingArray.length]; numElements=0; backingArray=newArray; } public boolean equals(Object o){ if(o instanceof Set &&(((Set)o).size()==numElements)){ for(E elem:(Set<E>)o){ if (this.contains(o)==false){ return false; } return true; } } return false; } public boolean contains(Object o){ for(E backingElem:backingArray){ if (o!=null && o.equals(backingElem)){ return true; } } return false; } public boolean containsAll(Collection<?> c){ for(E elem:(Set<E>)c){ if(!(this.contains(elem))){ return false; } } return true; } public int hashCode(){ int sum=0; for(E elem:backingArray){ if(elem!=null){ sum=sum+elem.hashCode(); } } return sum; } public boolean isEmpty(){ if(numElements==0){ return true; } else{ return false; } } public boolean remove(Object o){ int i=0; for(Object elem:backingArray){ if(o!=null && o.equals(elem)){ backingArray[i]=null; numElements=numElements-1; E[] newArray=Arrays.copyOf(backingArray,backingArray.length-1); return true; } i=i+1; } return false; } public boolean removeAll(Collection<?> c){ for(Object elem:c){ this.remove(elem); } return true; } public boolean retainAll(Collection<?> c){ MySet<E> removalArray=new MySet<E>(); for(E arrayElem:backingArray){ if(arrayElem!= null && !(c.contains(arrayElem))){ this.remove(arrayElem); } } return false; } public int size(){ return numElements; } public <T> T[] toArray(T[] a) throws ArrayStoreException,NullPointerException{ for(int i=0;i<numElements;i++){ a[i]=(T)backingArray[i]; } for(int j=numElements;j<a.length;j++){ a[j]=null; } return a; } public Object[] toArray(){ Object[] newArray=new Object[numElements]; for(int i=0;i<numElements;i++){ newArray[i]=backingArray[i]; } return newArray; } public Iterator<E> iterator(){ setIterator iterator=new setIterator(); return iterator; } private class setIterator implements Iterator<E>{ private int currIndex; private E lastElement; public setIterator(){ currIndex=0; lastElement=null; } public boolean hasNext(){ while(currIndex<=numElements && backingArray[currIndex]==null){ currIndex=currIndex+1; } if (currIndex<=numElements){ return true; } return false; } public E next(){ E element=backingArray[currIndex]; currIndex=currIndex+1; lastElement=element; return element; } public void remove() throws UnsupportedOperationException,IllegalStateException{ if(lastElement!=null){ MySet.this.remove((Object)lastElement); numElements=numElements-1; } else{ throw new IllegalStateException(); } } } } I've been able to reduce the problems, but otherwise this thing is still causing problems.

    Read the article

  • strings and textfields, AS3

    - by VideoDnd
    How do I get my text fields to populate correctly and show single digits? Description Each textfield receives a substring. This doesn't limit it's input, because the text fields shows extra numbers. See illustration. Ex A //Tweening method 'could substitute code with Tweener' import fl.transitions.Tween; import fl.transitions.easing.*; //Timer that will run a sec and repeat var timer:Timer = new Timer(1000); //Integer values var count:int = +220000000; var fcount:int = 0; //Events and starting timer timer.addEventListener(TimerEvent.TIMER, incrementCounter); addEventListener(Event.ENTER_FRAME, checkOdometerPosition); timer.start(); //Tween Variables var smoothLoop:int = 0; var originalYPosition:Number = 0; var upwardYPosition:Number = -99; //Formatting String function formatCount(i:int):String { var fraction:int = i % 100; var whole:int = i / 100; return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" + fraction : fraction); } //First Digit 'trigger set by using var upwardPosition as a constant' function checkOdometerPosition(event:Event):void{ if (seconds9.y <= upwardYPosition){ var toText:String = formatCount(fcount); //seconds9.firstDigit.text = formatCount(fcount); seconds9.firstDigit.text = toText.substr(9, 9); seconds9.y = originalYPosition; seconds8.firstDigit.text = toText.substr(8, 8); seconds8.y = originalYPosition; seconds7dec.firstDigit.text = toText.substr(7, 7); seconds7dec.y = originalYPosition; seconds6.firstDigit.text = toText.substr(6, 6); seconds6.y = originalYPosition; seconds5.firstDigit.text = toText.substr(5, 5); seconds5.y = originalYPosition; seconds5.firstDigit.text = toText.substr(4, 4); seconds5.y = originalYPosition; seconds3.firstDigit.text = toText.substr(3, 3); seconds3.y = originalYPosition; seconds2.firstDigit.text = toText.substr(2, 2); seconds2.y = originalYPosition; seconds1.firstDigit.text = toText.substr(1, 1); seconds1.y = originalYPosition; seconds1.firstDigit.text = toText.substr(1, 1); seconds1.y = originalYPosition; seconds0.firstDigit.text = toText.substr(0, 1); seconds0.y = originalYPosition; } } //Second Digit function incrementCounter(event:TimerEvent):void{ count++; fcount=int(count) if (smoothLoop < 9){ smoothLoop++; } else { smoothLoop = 0; } var lolly:String = formatCount(fcount-1); //seconds9.secondDigit.text = formatCount(fcount); seconds9.secondDigit.text = lolly.substr(9, 9); var addTween9:Tween = new Tween(seconds9, "y", Strong.easeOut,0,-222, .7, true); seconds8.secondDigit.text = lolly.substr(8, 8); var addTween8:Tween = new Tween(seconds8, "y", Strong.easeOut,0,-222, .7, true); seconds7dec.secondDigit.text = lolly.substr(7, 7); var addTween7dec:Tween = new Tween(seconds7dec, "y", Strong.easeOut,0,-222, .7, true); seconds6.secondDigit.text = lolly.substr(6, 6); var addTween6:Tween = new Tween(seconds6, "y", Strong.easeOut,0,-222, .7, true); seconds5.secondDigit.text = lolly.substr(5, 5); var addTween5:Tween = new Tween(seconds5, "y", Strong.easeOut,0,-222, .7, true); seconds4.secondDigit.text = lolly.substr(4, 4); var addTween4:Tween = new Tween(seconds4, "y", Strong.easeOut,0,-222, .7, true); seconds3.secondDigit.text = lolly.substr(3, 3); var addTween3:Tween = new Tween(seconds3, "y", Strong.easeOut,0,-222, .7, true); seconds2.secondDigit.text = lolly.substr(2, 2); var addTween2:Tween = new Tween(seconds2, "y", Strong.easeOut,0,-222, .7, true); seconds1.secondDigit.text = lolly.substr(1, 1); var addTween1:Tween = new Tween(seconds1, "y", Strong.easeOut,0,-222, .7, true); seconds0.secondDigit.text = lolly.substr(0, 1); var addTween0:Tween = new Tween(seconds0, "y", Strong.easeOut,0,-222, .7, true); } Ex A has 10 text objects, each with a pair of text fields. It’s move complex than Ex B, because it has a Y animation and pairs of numbers. The text objects are animated to create a scrolling effect. It moves vertically, and has a lead number and a catch up number contained in each symbol. See illustration for more description. The counters are set to 2,200,000.00, just to see if the numbers are populating. Ex B work fine! for example only //STRING SPLITTER COUNTER with nine individual text fields //Timer settings var delay:uint = 1000/100; var repeat:uint = 0; var timer:Timer; timer = new Timer(delay,repeat); timer.addEventListener(TimerEvent.TIMER, incrementCounter); timer.start(); //Integer values var count:int = 0; var fcount:int = 0; //Format Count function formatCount(i:int):String { var fraction:int = i % 100; var whole:int = i / 100; return ("0000000" + whole).substr(-7, 7) + "." + (fraction < 10 ? "0" + fraction : fraction); } //Split strings off to individual text fields function incrementCounter(event:TimerEvent) { count++; fcount=int(count+220000000) var toText:String = formatCount(fcount); mytext9.text = toText.substr(9, 9); mytext8.text = toText.substr(8, 8); mytext7dec.text = toText.substr(7, 7); mytext6.text = toText.substr(6, 6); mytext5.text = toText.substr(5, 5); mytext4.text = toText.substr(4, 4); mytext3.text = toText.substr(3, 3); mytext2.text = toText.substr(2, 2); mytext1.text = toText.substr(1, 1); mytext0.text = toText.substr(0, 1); } Here's a link to the files

    Read the article

  • Why touching "d_name" makes calls to readdir() fail?

    - by Sarah Mani
    Hi, I'm trying to write a little helper for Windows which eventually will accept a file extension as an argument and return the number of files of that kind in the current directory. To do so, I'm reading the file entries in the directories and after getting the extension I'd like to convert it to lowercase to compare it with the yet-to-add specified argument. When converting the extension to lowercase I found that touching even a duplicate string of the d_name variable will cause a strange behaviour, like no more calls to readdir are called. Here is the code I'm using right now (the commented code is preliminary) and outputs for a given directory: #include <ctype.h> #include <dirent.h> #include <stdio.h> #include <string.h> char * strrch(char *string, size_t elements, char character) { char *reverse = string + elements; while (--reverse != string) if (*reverse == character) return reverse; return NULL; } void test(char *string) { // Even being a duplicate will make it fail: char *str = strdup(string); printf("Strings: %s %s\n", string, str); *str = 'a'; printf("Strings: %s %s\n", string, str); //unsigned short int i = 0; //for (; str[i] != '\0', str++; i++) // str[i] = tolower((unsigned char) str[i]); //puts(str); } int main(int argc, char **argv) { DIR *directory; struct dirent *element; if (directory = opendir(".")) { while (element = readdir(directory)) test(strrch(element->d_name, element->d_namlen, '.')); closedir(directory); puts(NULL); } else puts("Couldn't open the directory.\n"); } Output without modifying the duplicate (modification and the second printf call commented): Strings: (null) (null) Strings: . . Strings: .exe .exe Strings: .pdf .pdf Strings: .c .c Strings: .ini .ini Strings: .pdf .pdf Strings: .pdf .pdf Strings: .pdf .pdf Strings: .flac .flac Strings: .FLAC .FLAC Strings: .lnk .lnk Strings: .URL .URL Output of the same directory (with the code above, with the 2 printfs): Strings: (null) (null) Is there anything wrong? Is it a compiler issue? I'm using GCC 4.4.3 in Windows (MinGW) right now. Thank you very much for your help. By the way, is there any other way to work with files and directories in a Windows environment not using the POSIX functions?

    Read the article

  • Why doesn't genstrings convert NSLocalizedStringFromTable entries to table.strings?

    - by juan tendero
    In my source code I have some lines like NSLocalizedStringFromTable(@"Info", @"en", @"Title of this view"). When I subsequently call genstrings -o en.lproj ./Classes/*.m I would not get the expected file en.strings but Localized.strings, although I've read in the genstrings-manpage that it would generate a table.strings file from NSLocalizedStringFromTable(a, table, c) function. Am I wrong? How would I create a table.strings file then?

    Read the article

  • how to detect whether strings are not captured for localization in .po files i.e no equivalent entry

    - by Manjushree
    Hi we have some queries regarding localization/.po files 1 We want to detect the missing strings or strings which are not being captured for L10N. how we can detect that? is that any method or command to update the strings 2 Locale files (.po) for "cn-zh" or another Locale are not complete (missing strings) 3 String has been captured for L10N but does not have a matching pair in .po files

    Read the article

  • Rate My Script: Finding Flash Files Embedded in Office Files

    - by Shaun Johnson
    Can anyone improve on this? Requires Sysinternals Strings date /T >N:\output.txt net use z: /delete net use z: \\svr-002\rmstudentwork @cd /d "z:\" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xls | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.ppt | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.doc | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xlsx | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.pptx | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.docx | findstr \.swf >> "N:\output.txt" date /T >>N:\output.txt net use z: /delete /yes >>N:\output.txt net use z: \\svr-003\rmstudentwork "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xls | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.ppt | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.doc | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.xlsx | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.pptx | findstr \.swf >> "N:\output.txt" "N:\Scripts and Reg Frags\FindEmbededFlashFiles\strings.exe" -s *.docx | findstr \.swf >> "N:\output.txt" net use z: /delete /yes Basically it mounts a share as a network drive then runs through the share looking for swf files inside office documents.

    Read the article

  • WTSQuerySessionInformation returning empty strings

    - by Benj
    I've written a program which should query the Terminal Services API and print out some state information about the sessions running on a terminal services box. I'm using the WTSQuerySessionInformation function to do this and it's returning some data but most of the data seems to be missing... Does anyone know why? Here's my program: void WTSGetString( HANDLE serverHandle, DWORD sessionid, WTS_INFO_CLASS command, wchar_t* commandStr) { DWORD bytesReturned = 0; LPTSTR pData = NULL; if (WTSQuerySessionInformation(serverHandle, sessionid, command, &pData, &bytesReturned)) { wprintf(L"\tWTSQuerySessionInformationW - session %d - %s returned \"%s\"\n", sessionid, commandStr, pData); } else { wprintf(L"\tWTSQuerySessionInformationW - session %d - %s failed - error=%d - ", sessionid, commandStr, GetLastError()); printLastError(NULL, GetLastError()); } WTSFreeMemory(pData); } void ExtractFromWTS( HANDLE serverHandle, DWORD sessionid ) { WTSGetString(serverHandle, sessionid, WTSInitialProgram, L"WTSInitialProgram"); WTSGetString(serverHandle, sessionid, WTSApplicationName, L"WTSApplicationName"); WTSGetString(serverHandle, sessionid, WTSWorkingDirectory, L"WTSWorkingDirectory"); WTSGetString(serverHandle, sessionid, WTSOEMId, L"WTSOEMId"); WTSGetString(serverHandle, sessionid, WTSSessionId, L"WTSSessionId"); WTSGetString(serverHandle, sessionid, WTSUserName, L"WTSUserName"); WTSGetString(serverHandle, sessionid, WTSWinStationName, L"WTSWinStationName"); WTSGetString(serverHandle, sessionid, WTSDomainName, L"WTSDomainName"); WTSGetString(serverHandle, sessionid, WTSConnectState, L"WTSConnectState"); WTSGetString(serverHandle, sessionid, WTSClientBuildNumber, L"WTSClientBuildNumber"); WTSGetString(serverHandle, sessionid, WTSClientName, L"WTSClientName"); WTSGetString(serverHandle, sessionid, WTSClientDirectory, L"WTSClientDirectory"); WTSGetString(serverHandle, sessionid, WTSClientProductId, L"WTSClientProductId"); WTSGetString(serverHandle, sessionid, WTSClientHardwareId, L"WTSClientHardwareId"); WTSGetString(serverHandle, sessionid, WTSClientAddress, L"WTSClientAddress"); WTSGetString(serverHandle, sessionid, WTSClientDisplay, L"WTSClientDisplay"); WTSGetString(serverHandle, sessionid, WTSClientProtocolType, L"WTSClientProtocolType"); } int _tmain(int argc, _TCHAR* argv[]) { PWTS_SESSION_INFOW ppSessionInfo = 0; DWORD pCount; if(!WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, &ppSessionInfo, &pCount)) { printLastError(L"WTSEnumerateSessions", GetLastError()); return 1; } wprintf(L"%d WTS sessions found on host\n", pCount); for (unsigned int i=0; i<pCount; i++) { wprintf(L"> session=%d, stationName = %s\n", ppSessionInfo[i].SessionId, ppSessionInfo[i].pWinStationName); ExtractFromWTS(WTS_CURRENT_SERVER_HANDLE, ppSessionInfo[i].SessionId); LPWSTR sessionstr = new wchar_t[200]; wsprintf(sessionstr, L"%d", ppSessionInfo[i].SessionId); } return 0; } And here's the output: C:\Users\Administrator\Desktop>ObtainWTSStartShell.exe empserver1 4 WTS sessions found on host > session=0, stationName = Services WTSQuerySessionInformationW - session 0 - WTSInitialProgram failed - error=87 - The paramete r is incorrect. WTSQuerySessionInformationW - session 0 - WTSApplicationName failed - error=87 - The paramet er is incorrect. WTSQuerySessionInformationW - session 0 - WTSWorkingDirectory returned "" WTSQuerySessionInformationW - session 0 - WTSOEMId returned "" WTSQuerySessionInformationW - session 0 - WTSSessionId returned "" WTSQuerySessionInformationW - session 0 - WTSUserName returned "" WTSQuerySessionInformationW - session 0 - WTSWinStationName returned "Services" WTSQuerySessionInformationW - session 0 - WTSDomainName returned "" WTSQuerySessionInformationW - session 0 - WTSConnectState returned "?" WTSQuerySessionInformationW - session 0 - WTSClientBuildNumber returned "" WTSQuerySessionInformationW - session 0 - WTSClientName returned "" WTSQuerySessionInformationW - session 0 - WTSClientDirectory returned "" WTSQuerySessionInformationW - session 0 - WTSClientProductId returned "" WTSQuerySessionInformationW - session 0 - WTSClientHardwareId returned "" WTSQuerySessionInformationW - session 0 - WTSClientAddress returned "" WTSQuerySessionInformationW - session 0 - WTSClientDisplay returned "" WTSQuerySessionInformationW - session 0 - WTSClientProtocolType returned "" GetShellProcessNameFromUserPolicy - Error: Unable to open policy key - returned [2] GetShellProcessName succeseded - explorer.exe > session=1, stationName = Console WTSQuerySessionInformationW - session 1 - WTSInitialProgram returned "" WTSQuerySessionInformationW - session 1 - WTSApplicationName returned "" WTSQuerySessionInformationW - session 1 - WTSWorkingDirectory returned "" WTSQuerySessionInformationW - session 1 - WTSOEMId returned "" WTSQuerySessionInformationW - session 1 - WTSSessionId returned "?" WTSQuerySessionInformationW - session 1 - WTSUserName returned "" WTSQuerySessionInformationW - session 1 - WTSWinStationName returned "Console" WTSQuerySessionInformationW - session 1 - WTSDomainName returned "" WTSQuerySessionInformationW - session 1 - WTSConnectState returned "?" WTSQuerySessionInformationW - session 1 - WTSClientBuildNumber returned "" WTSQuerySessionInformationW - session 1 - WTSClientName returned "" WTSQuerySessionInformationW - session 1 - WTSClientDirectory returned "" WTSQuerySessionInformationW - session 1 - WTSClientProductId returned "" WTSQuerySessionInformationW - session 1 - WTSClientHardwareId returned "" WTSQuerySessionInformationW - session 1 - WTSClientAddress returned "" WTSQuerySessionInformationW - session 1 - WTSClientDisplay returned "?" WTSQuerySessionInformationW - session 1 - WTSClientProtocolType returned "" GetShellProcessNameFromUserPolicy - Error: Unable to open policy key - returned [2] GetShellProcessName succeseded - explorer.exe > session=3, stationName = RDP-Tcp#0 WTSQuerySessionInformationW - session 3 - WTSInitialProgram returned "" WTSQuerySessionInformationW - session 3 - WTSApplicationName returned "" WTSQuerySessionInformationW - session 3 - WTSWorkingDirectory returned "" WTSQuerySessionInformationW - session 3 - WTSOEMId returned "" WTSQuerySessionInformationW - session 3 - WTSSessionId returned "?" WTSQuerySessionInformationW - session 3 - WTSUserName returned "Administrator" WTSQuerySessionInformationW - session 3 - WTSWinStationName returned "RDP-Tcp#0" WTSQuerySessionInformationW - session 3 - WTSDomainName returned "EMPSERVER1" WTSQuerySessionInformationW - session 3 - WTSConnectState returned "" WTSQuerySessionInformationW - session 3 - WTSClientBuildNumber returned "?" WTSQuerySessionInformationW - session 3 - WTSClientName returned "APWADEV03" WTSQuerySessionInformationW - session 3 - WTSClientDirectory returned "C:\Windows\System32\m stscax.dll" WTSQuerySessionInformationW - session 3 - WTSClientProductId returned "?" WTSQuerySessionInformationW - session 3 - WTSClientHardwareId returned "" WTSQuerySessionInformationW - session 3 - WTSClientAddress returned "?" WTSQuerySessionInformationW - session 3 - WTSClientDisplay returned "?" WTSQuerySessionInformationW - session 3 - WTSClientProtocolType returned "?" GetShellProcessNameFromUserPolicy - Error: Unable to open policy key - returned [2] GetShellProcessName succeseded - explorer.exe > session=65536, stationName = RDP-Tcp WTSQuerySessionInformationW - session 65536 - WTSInitialProgram returned "" WTSQuerySessionInformationW - session 65536 - WTSApplicationName returned "" WTSQuerySessionInformationW - session 65536 - WTSWorkingDirectory returned "" WTSQuerySessionInformationW - session 65536 - WTSOEMId returned "" WTSQuerySessionInformationW - session 65536 - WTSSessionId returned "" WTSQuerySessionInformationW - session 65536 - WTSUserName returned "" WTSQuerySessionInformationW - session 65536 - WTSWinStationName returned "RDP-Tcp" WTSQuerySessionInformationW - session 65536 - WTSDomainName returned "" WTSQuerySessionInformationW - session 65536 - WTSConnectState returned "?" WTSQuerySessionInformationW - session 65536 - WTSClientBuildNumber returned "" WTSQuerySessionInformationW - session 65536 - WTSClientName returned "" WTSQuerySessionInformationW - session 65536 - WTSClientDirectory returned "" WTSQuerySessionInformationW - session 65536 - WTSClientProductId returned "" WTSQuerySessionInformationW - session 65536 - WTSClientHardwareId returned "" WTSQuerySessionInformationW - session 65536 - WTSClientAddress returned "" WTSQuerySessionInformationW - session 65536 - WTSClientDisplay returned "" WTSQuerySessionInformationW - session 65536 - WTSClientProtocolType returned "" GetShellProcessNameFromUserPolicy - Error: Unable to open policy key - returned [2] GetShellProcessName succeseded - explorer.exe As you can see, some of the data looks valid, but not all....

    Read the article

  • How should I escape strings in JSON?

    - by Bytecode Ninja
    When creating JSON data manually, how should I escape string fields? Should I use something like Apache Commons Lang's StringEscapeUtilities.escapeHtml, StringEscapeUtilities.escapeXml, or should I use java.net.URLEncoder? The problem is that when I use SEU.escapeHtml, it doesn't escape quotes and when I wrap the whole string in a pair of 's, a malformed JSON will be generated.

    Read the article

  • XSL testing empty strings with <xsl:if> and sorting

    - by AdRock
    I am having trouble with a template that has to check 3 different nodes and if they are not empty, print the data I am using for each node then doing the output but it is not printing anything. It is like the test returns zero. I have selected the parent node of each node i want to check the length on as the template match but it still doesn't work. Another thing, how do i sort the list using . I tried using this but i get an error about loading the stylesheet. If i take out the sort it works <xsl:template match="folktask/member"> <xsl:if test="user/account/userlevel='3'"> <xsl:sort select="festival/event/datefrom"/> <div class="userdiv"> <xsl:apply-templates select="user"/> <xsl:apply-templates select="festival"/> </div> </xsl:if> </xsl:template> <xsl:template match="festival"> <xsl:apply-templates select="contact"/> </xsl:template> This should hopefully finish all my stylesheets. This is the template I am calling <xsl:template match="contact"> <xsl:if test="string-length(contelephone)!=0"> <div class="small bold">TELEPHONE:</div> <div class="large"> <xsl:value-of select="contelephone/." /> </div> </xsl:if> <xsl:if test="string-length(conmobile)!=0"> <div class="small bold">MOBILE:</div> <div class="large"> <xsl:value-of select="conmobile/." /> </div> </xsl:if> <xsl:if test="string-length(fax)!=0"> <div class="small bold">FAX:</div> <div class="large"> <xsl:value-of select="fax/." /> </div> </xsl:if> </xsl:template> and a section of my xml. If you need me to edit my post so you can see the full code i will but the rest works fine. <folktask> <member> <user id="4"> <personal> <name>Connor Lawson</name> <sex>Male</sex> <address1>12 Ash Way</address1> <address2></address2> <city>Swindon</city> <county>Wiltshire</county> <postcode>SN3 6GS</postcode> <telephone>01791928119</telephone> <mobile>07338695664</mobile> <email>[email protected]</email> </personal> <account> <username>iTuneStinker</username> <password>3a1f5fda21a07bfff20c41272bae7192</password> <userlevel>3</userlevel> <signupdate>2010-03-26T09:23:50</signupdate> </account> </user> <festival id="1"> <event> <eventname>Oxford Folk Festival</eventname> <url>http://www.oxfordfolkfestival.com/</url> <datefrom>2010-04-07</datefrom> <dateto>2010-04-09</dateto> <location>Oxford</location> <eventpostcode>OX1 9BE</eventpostcode> <coords> <lat>51.735640</lat> <lng>-1.276136</lng> </coords> </event> <contact> <conname>Stuart Vincent</conname> <conaddress1>P.O. Box 642</conaddress1> <conaddress2></conaddress2> <concity>Oxford</concity> <concounty>Bedfordshire</concounty> <conpostcode>OX1 3BY</conpostcode> <contelephone>01865 79073</contelephone> <conmobile></conmobile> <fax></fax> <conemail>[email protected]</conemail> </contact> </festival> </member> </folktask>

    Read the article

  • Strings in Objective-C++

    - by John Smith
    I just switched my code from Objective-C to Objective-C++. Everything goes swimmingly except for two lines. NSString * text1=[[NSString stringWithFormat:@"%.2f",ymax] UTF8String]; This line complains that error: cannot convert 'const char*' to 'NSString*' in initialization The second error related to the first is from the line: CGContextShowTextAtPoint(context, 2, 8, text1, strlen(text1)); It complains that error: cannot convert 'NSString*' to 'const char*' for argument '1' to 'size_t strlen(const char*)' Is there something I missed in the differences between ObjC and ObjC++?

    Read the article

  • objective c compare two date strings in NSDate

    - by mac
    Hi I am having two date as string , that is assigned to two labels, one label holds current date string, that is may 29, 2010 similarly the other date will be selected by user in this same format, i need to check the user date is present, past , or future. by comparing with current date string. please provide some sample code. Thanks in advance.

    Read the article

  • Can I Specify Strings for MySql Table Values?

    - by afterimagedesign
    I have a MySql table that stores the users state and city from a list of states and cities. I specifically coded each state as their two letter shortened version (like WA for Washington and CA for California) and every city has the two letter abbreviation and the city name formated like this: Boulder Colorado would be CO-boulder and Salt Lake City, Utah would be UT-salt-lake-city as to avoid different states with same city name. The PHP inserts the value (UT-salt-lake-city) under the column City, but when I call the variable through PHP, it displays like this: Your location is: UT-salt-lake-city, Utah. To solve this, I've been making this list of variables if ($city == "AL-auburn") { $city = "Auburn"; } else if ($city == "AL-birmingham") { $city = "Birmingham"; } else if ($city == "GA-columbus") { $city = "Columbus"; $state = "Georgia"; } else if ($city == "AL-dothan") { $city = "Dothan"; } else if ($city == "AL-florence") { $city = "Forence"; } else if ($city == "AL-muscle-shoals") { $city = "Muscle Shoals"; } else if ($city == "AL-gadsden-anniston") { $city = "Gadsden Anniston"; } else if ($city == "AL-huntsville") { $city = "Huntsville"; } else if ($city == "AL-decatur") { $city = "Decatur"; } else if ($city == "AL-mobile") { $city = "Mobile"; } else if ($city == "AL-montgomery") { $city = "Montgomery"; } else if ($city == "AL-tuscaloosa") { $city = "Tuscaloosa"; } Is there a way I can shorten this process or at least call it from a separate file so I don't have to copy/paste every time I want to call the location?

    Read the article

  • 301 Redirect and query strings

    - by Lizard
    I am looking to create a 301 redirect based purely on a query string see b OLD URL: olddomain.com/?pc=/product/9999 New URL: newurl.php?var=yup My normal way of doing this would be redirect 301 pc=/product/9999 newurl.php?var=yup But this time I am trying to match a URL that that only contains the domain and a query string... What is the best way of doing this? Thanks

    Read the article

  • How to convert strings into integers in python?

    - by elfuego1
    Hello there, I have a tuple of tuples from MySQL query like this: T1 = (('13', '17', '18', '21', '32'), ('07', '11', '13', '14', '28'), ('01', '05', '06', '08', '15', '16')) I'd like to convert all the string elements into integers and put it back nicely to list of lists this time: T2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]] I tried to achieve it with "eval" but didn't get any decent result yet.

    Read the article

  • Exchanging strings (PChar) between a Freepascal compiled DLL and a Delphi compiled EXE

    - by John Riche
    After a lot of experimentations, I found a way to exchange PChar from a FreePascal compiled DLL with a Delphi compiled EXE. I'm in charge of both the DLL and EXE source code but one MUST BE in FreePascal and the other one in Delphi. My solution involves the following methods in the DLL: function GetAString(): PChar; var aString: string; begin aString := 'My String'; result := StrAlloc(length(aString) + 1); StrPCopy(result, aString); end; procedure FreeString(aString: PChar); begin StrDispose(aString); end; And from the Delphi EXE, to call the GetAString method, I need to Call the GetAString method, save the PChar to an actual Delphi String and call the FreeString method. Is this the best way of exchanging a string from a FreePascal DLL with a Delphi EXE ? Can I avoid the call to FreeString from Delphi ? And finally, if that's the correct solution, how will it behave with Delphi 2010 and the WideString by default: do I need to force WidePChar in FreePascal too ?

    Read the article

  • Lots of questions about file I/O (reading/writing message strings)

    - by Nazgulled
    Hi, For this university project I'm doing (for which I've made a couple of posts in the past), which is some sort of social network, it's required the ability for the users to exchange messages. At first, I designed my data structures to hold ALL messages in a linked list, limiting the message size to 256 chars. However, I think my instructors will prefer if I save the messages on disk and read them only when I need them. Of course, they won't say what they prefer, I need to make a choice and justify the best I can why I went that route. One thing to keep in mind is that I only need to save the latest 20 messages from each user, no more. Right now I have an Hash Table that will act as inbox, this will be inside the user profile. This Hash Table will be indexed by name (the user that sent the message). The value for each element will be a data structure holding an array of size_t with 20 elements (20 messages like I said above). The idea is to keep track of the disk file offsets and bytes written. Then, when I need to read a message, I just need to use fseek() and read the necessary bytes. I think this could work nicely... I could use just one single file to hold all messages from all users in the network. I'm saying one single file because a colleague asked an instructor about saving the messages from each user independently which he replied that it might not be the best approach cause the file system has it's limits. That's why I'm thinking of going the single file route. However, this presents a problem... Since I only need to save the latest 20 messages, I need to discard the older ones when I reach this limit. I have no idea how to do this... All I know is about fread() and fwrite() to read/write bytes from/to files. How can I go to a file offset and say "hey, delete the following X bytes"? Even if I could do that, there's another problem... All offsets below that one will be completely different and I would have to process all users mailboxes to fix the problem. Which would be a pain... So, any suggestions to solve my problems? What do you suggest?

    Read the article

  • String Manipultation - Get String between two other Strings?

    - by Ben
    I have a large piece of text in which there is something simular to this: !#_KT_#!COMMANDHERE!#_KT_#! I want, in VB.Net, to get the 'COMMANDHERE' part of the string, how would I go about doing this? I have this so far: Dim temp As String = WebBrowser1.Document.Body.ToString Dim startIndex As Integer = temp.IndexOf("!#__KT__#!") + 1 Dim endIndex As Integer = temp.IndexOf("!#__KT__#!", startIndex) Dim extraction As String = temp.Substring(startIndex, endIndex - startIndex).Trim TextBox1.Text = extraction However this only removes the LAST string eg: #_KT_#! COMMAND. Any help is appreciated!

    Read the article

  • unzip strings in javascript

    - by sopppas
    anyone knows a simple JS library implementing the UNZIP algorithm? No disk-file access, only zip and unzip a string of values. there are ActiveX, using WinZIP and other client dependent software for ZIP, written in JS. but no pure algorithm implementation, is it really difficult or non-functional? i would use it for displaying KMZ files in a HTML page with the GMap object (google maps). The KMZ file is just a zipped KML file. I want to unzip a KMZ file and feed the KML to GMap.

    Read the article

  • Lucene - querying with long strings

    - by Mikos
    I have an index, with a field "Affiliation", some example values are: "Stanford University School of Medicine, Palo Alto, CA USA", "Institute of Neurobiology, School of Medicine, Stanford University, Palo Alto, CA", "School of Medicine, Harvard University, Boston MA", "Brigham & Women's, Harvard University School of Medicine, Boston, MA" "Harvard University, Cambridge MA" and so on... (the bottom-line being the affiliations are written in multiple ways with no apparent consistency) I query the index on the affiliation field using say "School of Medicine, Stanford University, Palo Alto, CA" (with QueryParser) to find all Stanford related documents, I get a lot of false +ves, presumably because of the presence of School of Medicine etc. etc. (note: I cannot use Phrase query because of variability in the way affiliation is constructed) I have tried the following: Use a SpanNearQuery by splitting the search phrase with a whitespace (here I get no results!) Tried boosting (using ^) by splitting with the comma and boosting the last parts such as "Palo Alto CA" with a much higher boost than the initial phrases. Here I still get lots of false +ves. Any suggestions on how to approach this? If SpanNearQuery the way to go, Any ideas on why I get 0 results?

    Read the article

< Previous Page | 19 20 21 22 23 24 25 26 27 28 29 30  | Next Page >